SQL - 查询字符串是否包含Column中值的一部分的查询

use*_*254 7 mysql sql string contains

我正在尝试编写一个Query来查找字符串是否包含Column中值的一部分(不要与查询混淆以查找列是否包含字符串的一部分).比方说,我在表格中有一列值为ABC,XYZ.如果我给出搜索字符串ABCDEFG,那么我希望显示带有ABC的行.如果我的搜索字符串是XYZDSDS,则应显示值为XYZ的行

Tur*_*ile 17

答案是"使用LIKE".

请参阅文档:https://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html

你可以做 WHERE 'string' LIKE CONCAT(column , '%')

因此查询变为:

select * from t1 where 'ABCDEFG' LIKE CONCAT(column1,'%');
Run Code Online (Sandbox Code Playgroud)

如果您需要匹配字符串中的任何位置:

select * from t1 where 'ABCDEFG' LIKE CONCAT('%',column1,'%');
Run Code Online (Sandbox Code Playgroud)

在这里你可以看到它在一个小提琴:http://sqlfiddle.com/#!9 / d1596/4