我有arr
类型的列array
。
我需要获取行,其中arr
列包含值s
该查询:
SELECT * FROM table WHERE arr @> ARRAY['s']
给出错误:
错误:运算符不存在:字符变化[] @>文本[]
为什么不起作用?
ps我知道any()
运算符,但是为什么不起作用@>
?
我有arr
类型的列array
。
我需要获取行,其中arr
列包含值s
该查询:
SELECT * FROM table WHERE arr @> ARRAY['s']
给出错误:
错误:运算符不存在:字符变化[] @>文本[]
为什么不起作用?
ps我知道any()
运算符,但是为什么不起作用@>
?
Answers:
请注意,这也可能起作用:
SELECT * FROM table WHERE s=ANY(array)
s @> ARRAY['constant'::varchar]
,更短。