如何在DB2v12.01中使用带有多个值的like子句。
SELECT t1.* FROM表1 t1,(从帮助表中选择(模式列)作为术语)t2 WHERE t1.col1与t2.term相同
Pattern_col包含n个值,如(%abc%、%xyz%、%nnn%、...)
提前感谢您的时间和帮助。
我尝试了How to use LIKE with IN in DB2?中提到的这个解决方案,当我使用sysdummy表时它工作正常(Oracle的等价物是DUAL)
但是当我尝试用实际的表值替换sysdummy 1时,我得到了下面的错误。SQLCODE = -132,错误:Like的操作数无效
我不明白为什么它可以与sysdummy 1一起工作,为什么不能与实际的表一起工作。
1条答案
按热度按时间fcipmucu1#
您的方法没有问题(我猜),但您使用的平台/版本可能是个问题。例如,在LUW上的Db2 11.5:
可以插入多个阵列,例如:
从你的评论来看,你似乎在使用zos。LUW和ZOS都有regexp能力,你可能想探索一下:
REGEXP_LIKE