[pgsql-jp: 27869] Re: 16進数文字列を数値にする方法はありますか?

ISHIDA Akio iakio @ pjam.jpweb.net
2002年 11月 2日 (土) 20:56:52 JST


こんにちは。石田@苫小牧市です。

On Sat, Nov 02, 2002 at 07:25:01PM +0900, SATO Hiroyuki wrote:
> 佐藤と申します。
> 
> 文字型のフィールドに入っている文字列が16進数を表しているとき、
> その文字列を数値型にする方法はありますでしょうか?
> バージョン:postgres (PostgreSQL) 7.2.2
> 
> 例えば次のようなデータです。
> ----(↓ここから↓)----
> postgres=# \d t
>              Table "t"
>  Column |     Type     | Modifiers
> --------+--------------+-----------
>  hex    | character(4) |
> 
> postgres=# select*from t;
>  hex
> ------
>  ff
> (1 row)
> ----(↑ここまで↑)----

pg_proc を見てたら get_byte というのを見つけたので、
なんか強引ですが、こんな方法でできるかもしれません。

ishida=> select get_byte(decode('ff', 'hex'), 0);
 get_byte
----------
      255
(1 row)


-- 
ISHIDA Akio




pgsql-jp メーリングリストの案内