如何使用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中做到这一点。
最佳答案
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/