Postgres搜索JSON通过动态值
在Postgres 14中,我正在尝试查询一个JSON数组元素:
{
"haystack": [
{ "search": "findthis" },
{ "search": "someothervalue" }
]
}
此操作:
SELECT 1
FROM test
WHERE data->'haystack' @> '[{"search":"findthis"}]';
但是,当“ findthis”来自函数时: getText()
或其他一些动态值,我得到0个结果:
SELECT 1
FROM test
WHERE data->'haystack' @> to_jsonb('[{"search":"' || getText()::text || '"}]');
(我希望能返回1)
我的测试:
我缺少什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
JSONB
,而不是to_jsonb
和您的查询类型cast
Use
jsonb
, notto_jsonb
and your query with type cast