如何使用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


将无法正常工作。
我有一个涉及SUBSTRINSTRLENGTH的解决方案,但这会使我的查询速度太慢。
请发表您的建议。
我想在MySQL中做到这一点。

最佳答案

SELECT * FROM tbl WHERE col_1 LIKE '%'+col_2+'%'




编辑:对于MySQL,等效语法为:

SELECT * FROM tbl WHERE col_1 LIKE CONCAT('%',col_2,'%')

关于mysql - 如何使用SQL检查一列中的字符串值是否部分包含在另一列的字符串值中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26147909/

10-09 02:50