【发布时间】:2012-10-09 02:36:12
【问题描述】:
有没有更短的方法来查找多个匹配项:
SELECT *
from table
WHERE column LIKE "AAA%"
OR column LIKE "BBB%"
OR column LIKE "CCC%"
这个问题适用于 PostgreSQL 9.1,但如果有通用的解决方案那就更好了。
【问题讨论】:
-
它读起来很好,效果很好,而且很容易理解。当您需要在实际数据中查找管道 (
|) 或括号时,为什么要将其替换为流行答案等替代方案并陷入困境? -
@RichardTheKiwi 因为动态构建不是那么容易。请参阅我关于如何避免处理正则表达式的答案。
-
@Clo 它仍然是不是 ISO 标准的代码,相比之下 更难 理解。除了
any (values('AAA%'), ('BBB%'), ('CCC%')那个看起来不错。
标签: sql postgresql postgresql-9.1