gpt4 book ai didi

postgresql - 通过命令行查询postgres中的bytea字段

转载 作者:行者123 更新时间:2023-11-29 11:22:07 24 4
gpt4 key购买 nike

我有一个带有 bytea 字段的表,如果我可以通过命令行(或 pgAdmin 的查询执行器)进行查询会很方便。我将十六进制值作为字符串。是否有将 hex 转换为 bytea 的内置函数?

我想做这样的事情:

SELECT * FROM table WHERE my_bytea_field=some_???_function('fa26e312');

其中“fa26e312”是我想要的 bytea 字段的十六进制值。

注意:这只是为了在我开发/调试东西时提供帮助,我可以通过代码来完成,但我希望能够在查询中手动完成。

最佳答案

尝试使用内置的 decode(string text, type text)函数(它返回 bytea)。您可以使用 psql 通过 CLI 运行查询在非交互模式下,即使用 -c 开关(如果您愿意,可以使用一些格式选项):

psql -c "SELECT * FROM table WHERE my_bytea_field=decode('fa26e312', 'hex');"

例子:

CREATE TABLE test(id serial, my_bytea_field bytea);
INSERT INTO test (my_bytea_field) VALUES
(E'\\320\\170'::bytea),
(E'\\100\\070'::bytea),
(E'\\377\\377'::bytea);

psql -tc "SELECT * FROM test WHERE my_bytea_field=decode('ffff', 'hex');"
3 | \377\377

关于postgresql - 通过命令行查询postgres中的bytea字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6637843/

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