• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

mysql 搞代码 4年前 (2022-01-09) 19次浏览 已收录 0个评论

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本文来源gaodai#ma#com搞*!代#%^码$网*(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';


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Postgres的10进制与16进制互相转换

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址