【问题标题】:How I get data in using LIKE without differentiating between uppercase And lowercase?如何在不区分大小写的情况下使用 LIKE 获取数据?
【发布时间】:2018-02-21 04:41:45
【问题描述】:

我正在尝试使用Like '%BEJO%' 获取名称,但没有找到记录,因为我在数据库中的数据是'Bejo'

我如何通过LIKE '%BEJO%' 获得名称'Bejo'? (不区分大小写)

【问题讨论】:

  • 这取决于您正在处理的排序规则。一些排序规则不区分大小写(例如utf8-general-ci),而另一些则不区分大小写。

标签: mysql sql


【解决方案1】:

试试这个:

select t1.*
from table1 t1
where LOWER(column_name) LIKE LOWER('%BEJO%');

【讨论】:

    【解决方案2】:

    该列的排序规则似乎区分大小写。如果您希望它始终不区分大小写,请将其排序规则更改为以 ci 结尾的排序规则。如果您想保持原样并且只使查询不区分大小写,那么您可以更改查询中的排序规则。示例:

    SELECT *
    FROM table1
    WHERE name LIKE '%BEJO%' COLLATE utf8_general_ci;
    

    或者,您可以使用LOWER()UPPER() 简单地更改两边的大小写。示例:

    SELECT *
    FROM table1
    WHERE UPPER(name) LIKE UPPER('%BEJO%');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 2020-07-22
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多