【发布时间】:2013-06-26 07:33:58
【问题描述】:
我有一个这样的查询,在一个表上执行,其中有几个关键字逗号分隔在字段 keywords 中,前导和尾随逗号:
SELECT media_id, filename FROM media WHERE keywords LIKE '%,house,%'
但是,它什么也找不到(该表中有几千条记录,其中相当多的记录有关键字"House")。即使搜索'%,House,%' 也找不到任何东西。
有效的方法是在所有大写字母中进行类似搜索:
SELECT media_id, filename FROM media WHERE keywords LIKE '%,HOUSE,%'
现在它还会找到像House 这样的关键字。
表格和keywords列的排序规则是latin1_german1_ci。
这种行为从何而来?
如何获得通常的完全不区分大小写的行为?
【问题讨论】:
-
关键字字段的排序规则是什么?
-
请显示该表的“CREATE TABLE”输出。
-
@Vatev 表和列的排序规则是
latin1_german1_ci。 -
逗号分隔值可以使用FIND_IN_SET
标签: mysql select innodb sql-like case-sensitive