我正试图从我的新闻Feed中获取一条记录。我通过它年,月和新闻文章标题。我根据年份=年份和月份=月份进行匹配,然后我使用标题:
LIKE '%title%'
这适用于所有情况,除非标题包含逗号。为什么不这样:
LIKE '%thank you donors volunteers and guests%'
匹配字段中的内容:Thank You Donors, Volunteers and Guests
但如果我加入逗号:
LIKE '%thank you donors, volunteers and guests%'
它匹配它。如果我不知道它们的位置,我怎么能告诉它与逗号匹配?
答案 0 :(得分:3)
我认为您最好使用布尔全文搜索服务,您可以根据参数自定义查询,我不会为您编写查询,但您可以在这里找出如何:http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html
答案 1 :(得分:2)
它不匹配,因为它不是相同的字符串。 %
是任何字符串的占位符,但其余内容必须完全匹配。
答案 2 :(得分:-1)
使用INSTR(),例如
SELECT field FROM table WHERE INSTR(field, "SEARCH STRING") > 0
INSTR()返回从字符索引1开始匹配的字符串的第一个实例的起始索引,因此您可以以类似于LIKE的方式使用它,而不需要特定于函数的特殊字符。