开发者社区 问答 正文

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

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

SELECT * FROM trees WHERE trees.title LIKE '%elm%' 这很好用,但是如果树被命名为Elm或ELM等则不行。

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

我正在使用MySQL 5和Apache。

展开
收起
保持可爱mmm 2020-05-11 10:41:23 641 分享 版权
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. 这还将重建该列上的所有索引,以便它们可用于查询而无需前导'%'来源:stack overflow

    2020-05-11 10:41:43
    赞同 展开评论