如何使用SQL检查一列中的字符串值是否部分包含在另一列的字符串值中?
如果我必须检查tbl表的col_1列是否包含'Mercury',我会进行如下查询:
SELECT * FROM tbl WHERE col_1 LIKE '%Mercury%'
但如果我必须检查每一行,如果col_2的完整值部分包含在col_1中,我该怎么做。
类似的东西:
SELECT * FROM tbl WHERE col_1 LIKE col_2
不起作用。
我有一个涉及SUBSTR
,INSTR
和LENGTH
的解决方案,但这会使我的查询太慢。
请发表您的建议。
我想在MySQL中这样做。
答案 0 :(得分:2)
SELECT * FROM tbl WHERE col_1 LIKE '%'+col_2+'%'
编辑:对于MySQL,等效的语法是:
SELECT * FROM tbl WHERE col_1 LIKE CONCAT('%',col_2,'%')