【发布时间】:2019-09-03 05:58:27
【问题描述】:
我在 DB2 中有以下 Car 的表:
id reference
1 31943149-blue
2 40213982-red
3 93713946-blue
...
然后我需要找到引用结尾在动态颜色列表中的所有条目。我怎么能那样做? 事实上,颜色的动态列表应该从另一个查询到另一个表中找到,所以我想在性能方面可能比 UNION 或 INNER JOIN 更好。
提前致谢
【问题讨论】:
-
WHERE reference LIKE '%blue' OR reference LIKE '%red' OR ....。使用应用程序语言代码(例如:PHP)动态准备查询 -
但是颜色数组是动态的,我不知道到底是哪些
-
这就是为什么我说准备查询字符串动态。例如:使用
foreach ..循环 -
但是我可以有一个非常大的颜色列表,如果有很多 LIKE OR 的性能如何?
-
您可以将
REGEXP_LIKE与正则表达式red|blue|green一起使用。您可以从颜色列表中动态构造此正则表达式。