LIKE mysql搜索无法使用CONCAT

时间:2014-09-13 10:38:34

标签: mysql sql

我遇到了关于sql查询的问题。如果单词sql查询可以检测到字符串,但如果我在字符串中添加多个单词,则不会显示任何结果。

SELECT * FROM rules WHERE keyword LIKE CONCAT('%','$message','%')

输入1(显示结果)

$message = "ASK"

输入2(显示无结果)

$message = "I WANT TO ASK"

请指教。谢谢。

1 个答案:

答案 0 :(得分:1)

我假设你想要那些关键字列的值是消息一部分的行。这是关键词的典型用例。

如果那是对的,那么您可以在函数INSTR的帮助下获得此结果:

SELECT * FROM rules WHERE INSTR('$message', keyword) > 0;

虽然

SELECT * FROM rules WHERE '$message' LIKE  CONCAT('%', keyword, '%');

也会工作很多次,它有一个限制,即关键字musn不包含LIKE运算符的通配符:%_。 INSTR没有这个限制。