ホームページ > データベース > mysql チュートリアル > Postgres的10进制与16进制互相转换

Postgres的10进制与16进制互相转换

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-07 14:58:36
オリジナル
1828 人が閲覧しました

Postgres的10进制与16进制互相转换 1.10进制转16进制 Postgres里面有一个内置的10进制转16进制的函数:to_hex(int)/to_hex(bigint) [postgres@localhost ~]$ psql Password: psql (9.1.3) Type help for help. postgres=# select to_hex(9); to_hex --------

Postgres的10进制与16进制互相转换

 

1.10进制转16进制

Postgres里面有一个内置的10进制转16进制的函数:to_hex(int)/to_hex(bigint)

[postgres@localhost ~]$ psql

Password: 

psql (9.1.3)

Type "help" for help.

 

postgres=# select to_hex(9);

 to_hex 

--------

 9

(1 row)

 

postgres=# select to_hex(17);

 to_hex 

--------

 11

(1 row)

 

postgres=# select to_hex(31);

 to_hex 

--------

 1f

(1 row)

 

postgres=# select to_hex(255);

 to_hex 

--------

 ff

(1 row)

 

postgres=# select to_hex(256);

 to_hex 

--------

 100

(1 row)

2.16进制转10进制 

没有内置的,参考网上的一个例子

postgres=# CREATE FUNCTION

hex_to_dec(in_hex TEXT)

RETURNS INT

IMMUTABLE STRICT LANGUAGE sql AS

$body$

  SELECT CAST(CAST(('x' || CAST($1 AS text)) AS bit(8)) AS INT);

$body$;

CREATE FUNCTION

postgres=# select hex_to_dec('1f');

 hex_to_dec 

------------

         31

(1 row)

 

postgres=# select hex_to_dec('ff');

 hex_to_dec 

------------

        255

(1 row)

 

postgres=# select hex_to_dec('fe');

 hex_to_dec 

------------

        254

(1 row)

 

postgres=# select hex_to_dec('09');

 hex_to_dec 

------------

          9

(1 row)

 

postgres=# select hex_to_dec('11');

 hex_to_dec 

------------

         17

(1 row)

 

内置的函数说明,支持输入是int或者bigint类型 

to_hex(int/bigint): 

CREATE OR REPLACE FUNCTION to_hex(integer)

  RETURNS text AS

'to_hex32'

  LANGUAGE internal IMMUTABLE STRICT

  COST 1;

ALTER FUNCTION to_hex(integer)

  OWNER TO postgres;

COMMENT ON FUNCTION to_hex(integer) IS 'convert int4 number to hex';

 

CREATE OR REPLACE FUNCTION to_hex(bigint)

  RETURNS text AS

'to_hex64'

  LANGUAGE internal IMMUTABLE STRICT

  COST 1;

ALTER FUNCTION to_hex(bigint)

  OWNER TO postgres;

COMMENT ON FUNCTION to_hex(bigint) IS 'convert int8 number to hex';

 

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート