一种简单的方法是:
select ('x'||lpad(the_hex_value,16,'0'))::bit(64)::bigint;
必须使用0填充左侧,因为始终将最左侧的位解释为符号位。另外请记住,带bigint
签名的postgres没有内置的无符号类型。
在Postgres中将十六进制字符串转换为bigint
一种简单的方法是:
select ('x'||lpad(the_hex_value,16,'0'))::bit(64)::bigint;
必须使用0填充左侧,因为始终将最左侧的位解释为符号位。另外请记住,带bigint
签名的postgres没有内置的无符号类型。