PostgreSQL的10进制与16进制互转
发布时间:2020-12-13 17:38:51 所属栏目:百科 来源:网络整理
导读:1.10进制转16进制 Postgres里面有一个内置的10进制转16进制的函数:to_hex(int)/to_hex(bigint) [postgres@localhost ~]$ psqlPassword: psql (9.1.3)Type "help" for help.postgres=# select to_hex(9); to_hex -------- 9(1 row)postgres=# select to_hex(1
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):
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |