小编典典

如何使用 LIKE 通配符在列中搜索(不区分大小写)?

all

我环顾四周,没有找到我想要的东西,所以就到这里了。

SELECT * FROM trees WHERE trees.`title` LIKE  '%elm%'

这工作正常,但如果树被命名为榆树或榆树等…

对于这个通配符搜索,如何使 SQL 不区分大小写?

我正在使用 MySQL 5 和 Apache。


阅读 99

收藏
2022-03-29

共1个答案

小编典典

SELECT  *
FROM    trees
WHERE   trees.`title` COLLATE UTF8_GENERAL_CI LIKE '%elm%'

实际上,如果您添加COLLATE UTF8_GENERAL_CI到列的定义中,您可以省略所有这些技巧:它会自动工作。

ALTER TABLE trees 
 MODIFY COLUMN title VARCHAR(…) CHARACTER 
 SET UTF8 COLLATE UTF8_GENERAL_CI. 

这还将重建此列上的任何索引,以便它们可以用于不带前导 ‘%’ 的查询

2022-03-29