gpt4 book ai didi

python - 将具有多个八进制的 bytea 转换为整数

转载 作者:行者123 更新时间:2023-11-29 14:37:29 26 4
gpt4 key购买 nike

我正在尝试从存储为 bytea 的 Postgres 数据库中获取一个值。
这些值是 VLAN ID(因此是 1-4096 之间的整数)。

但是,它存储在数据库中(例如):

\000\000\001\221 (equal to 401)

如果可能的话,我想让我的 SQL 查询向我的 Python 代码返回整数值。

经过一些搜索,我可以使用 get_byte 获取这 4 个八进制数之一(通过指定位置):

select get_byte(sub.datavlan_bytes,3) AS vlan -> this gives me the value of /221 (145)

但是,我无法获取全部值。

是否有一种在选择查询中获取数据的好方法,或者这是否需要在我的脚本中发生?

最佳答案

通过强制转换的普通 SQL:

select ('x' || encode(o, 'hex'))::bit(32)::int
from (values ('\000\000\001\221'::bytea)) s (o)
;
int4
------
401

关于python - 将具有多个八进制的 bytea 转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42182148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com