1
如何在MySQL中搜索小写字母?确保搜索小写字符
我有以下
$sql = "SELECT * FROM TABLE_NAME WHERE column LIKE '%$search%'";
如何确保在“列”中的值匹配小写?
如何在MySQL中搜索小写字母?确保搜索小写字符
我有以下
$sql = "SELECT * FROM TABLE_NAME WHERE column LIKE '%$search%'";
如何确保在“列”中的值匹配小写?
你要么你列的排序规则设置为区分大小写的一个,像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。在进行比较之前,您应该明确地强制列不区分大小写。
假设我解释正确,使用MySQL LOWER()
功能:
$sql = "SELECT * FROM TABLE_NAME WHERE LOWER(column) LIKE '%$search%'";
这一切都将转换成column
测试它针对搜索值之前为小写。
如果使用不区分大小写的排序规则(并且问题事实暗示它),这将无济于事。 – Quassnoi 2011-01-31 17:15:53