gpt4 book ai didi

postgresql - Postgres 类型 json 详细信息的输入语法无效 : Token "%" is invalid

转载 作者:行者123 更新时间:2023-11-29 12:50:42 27 4
gpt4 key购买 nike

我正在尝试检查某些文本是否包含文本和 Postgres 数组中的值的串联,例如:

SELECT true from jsonb_array_elements('["a", "b"]'::jsonb) as ids 
WHERE 'bar/foo/item/b' LIKE '%item/' || ids->>'id' || '%'

我收到以下错误:

ERROR: invalid input syntax for type json Detail: Token "%" is invalid. Position: 95 Where: JSON data, line 1: %...

如何使用数组的值,将它们与文本连接起来并检查 LIKE 表达式?

我已经尝试了几种显式添加像 ::jsonb 这样的转换的想法,但到目前为止还没有成功。

最佳答案

问题是 ||->> 运算符具有相同的 precedence并且是左结合的,所以表达式被解释为

(('%item/' || ids) ->>'id') || '%'

您必须添加括号:

'%item/' || (ids->>'id') || '%'

关于postgresql - Postgres 类型 json 详细信息的输入语法无效 : Token "%" is invalid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54637335/

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