我四处看了看,没有找到我要找的东西,所以就这样了。
SELECT * FROM trees WHERE trees.`title` LIKE '%elm%'
这很好,但如果树的名字是Elm或Elm等…
我如何使SQL不区分大小写为这个通配符搜索?
我使用MySQL 5和Apache。
我四处看了看,没有找到我要找的东西,所以就这样了。
SELECT * FROM trees WHERE trees.`title` LIKE '%elm%'
这很好,但如果树的名字是Elm或Elm等…
我如何使SQL不区分大小写为这个通配符搜索?
我使用MySQL 5和Apache。
当前回答
SELECT name
FROM gallery
WHERE CONVERT(name USING utf8) LIKE _utf8 '%$q%'
GROUP BY name COLLATE utf8_general_ci LIMIT 5
其他回答
必须为表设置正确的编码和排序规则。
表编码必须反映实际的数据编码。你的数据编码是什么?
要查看表编码,可以运行查询SHOW CREATE table tablename
我总是这样解决:
SELECT * FROM trees WHERE LOWER( trees.title ) LIKE LOWER('%elm%');
例如,如果你想搜索像Raja不是Raja, Royal不是Royal等名称,在WHERE子句的列名前添加BINARY。
SELECT name FROM person_tbl
WHERE BINARY name LIKE "R%";
限制使用ILIKE
SELECT * FROM trees WHERE trees.`title` ILIKE '%elm%';
这对我很管用!!
我认为这个查询将进行不区分大小写的搜索:
SELECT * FROM trees WHERE trees.`title` ILIKE '%elm%';