首頁 > 資料庫 > 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板