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

我环顾四周,却找不到我想要的东西,所以去了。

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

这很好用,但是如果树被命名为Elm或ELM等则不行。

如何使此通配符搜索的SQL大小写不敏感?

我正在使用MySQL 5和Apache。

回答:

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.

这还将重建该列上的所有索引,以便它们可用于查询而无需前导’%’

以上是 如何使用LIKE通配符在列中搜索(不区分大小写)? 的全部内容, 来源链接: utcz.com/qa/415235.html

回到顶部