暂无图片
pg中16进制转换成10进制的方法
我来答
分享
暂无图片 匿名用户
pg中16进制转换成10进制的方法

比如 16进制   \x16000000  ,用啥方法或者函数转成10进制的?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
DarkAthena

是按int4还是uint4的规则?还是按float4的规则?如果是按int4,则可以使用以下算法

create function bytea2int4(bytea) returns int4  immutable as $$
select  (
    (get_byte($1, 0) << 24) +
    (get_byte($1, 1) << 16) +
    (get_byte($1, 2) << 8)  +
    (get_byte($1, 3))
    );
$$ language sql;

select int4send(100)::text; --返回 \x00000064 
select bytea2int4('\x00000064'); --返回 100
暂无图片 评论
暂无图片 有用 6
手机用户3702
2025-03-02
x16000000 应该是22 ,用你那函数算出来369098752,不对
DarkAthena
答主
2025-03-03
int类型的22对应的bytea是 \\x00000016
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏