【发布时间】:2016-10-28 13:15:04
【问题描述】:
我有一个表,其中包含一个字符串数组(类型为character varying(255)[])。
我想将带有通配符的给定字符串(例如'query%')与该字段的任何元素进行比较。
此请求有效并返回预期结果:
SELECT * FROM my_table WHERE 'query' ILIKE ANY(my_field)
但是使用通配符,我没有得到任何结果:
SELECT * FROM my_table WHERE 'query%' ILIKE ANY(my_field)
我认为原因是通配符仅支持在ILIKE 运算符的右侧,但ANY(my_field) 也必须在运算符之后。
有没有办法实现我想要的?
使用 PostgreSQL 9.5。
【问题讨论】:
-
你说得对,这是复制品,我没见过。但我很高兴@klin 写了一个详细的答案,这不在另一篇文章中。
标签: postgresql