确保搜索小写字符

时间:2011-01-31 17:11:55

标签: mysql

如何在MySQL中搜索小写?

我有以下

$sql = "SELECT * FROM TABLE_NAME WHERE column LIKE '%$search%'";

如何确保“column”中的值与小写匹配?

2 个答案:

答案 0 :(得分:5)

您应该将列的排序规则设置为区分大小写的排序,例如UTF8_BIN,或者在过滤器中进行额外检查:

SELECT  *
FROM    table_name
WHERE   column LIKE '%$search$%'
        AND column COLLATE UTF8_BIN = LOWER(column COLLATE UTF8_BIN)

请注意,如果您的排序规则不区分大小写,例如UTF8_GENERAL_CI,则会出现以下查询:

SELECT  LOWER('A') = ('A')

将返回true。在进行比较之前,您应该明确地将列强制为不区分大小写的排序规则。

答案 1 :(得分:1)

假设我正确解释,请使用MySQL LOWER()函数:

$sql = "SELECT * FROM TABLE_NAME WHERE LOWER(column) LIKE '%$search%'";

这会将column中的所有内容转换为小写,然后再根据搜索值进行测试。