【发布时间】:2018-02-21 04:41:45
【问题描述】:
我正在尝试使用Like '%BEJO%' 获取名称,但没有找到记录,因为我在数据库中的数据是'Bejo'。
我如何通过LIKE '%BEJO%' 获得名称'Bejo'? (不区分大小写)
【问题讨论】:
-
这取决于您正在处理的排序规则。一些排序规则不区分大小写(例如
utf8-general-ci),而另一些则不区分大小写。
我正在尝试使用Like '%BEJO%' 获取名称,但没有找到记录,因为我在数据库中的数据是'Bejo'。
我如何通过LIKE '%BEJO%' 获得名称'Bejo'? (不区分大小写)
【问题讨论】:
utf8-general-ci),而另一些则不区分大小写。
试试这个:
select t1.*
from table1 t1
where LOWER(column_name) LIKE LOWER('%BEJO%');
【讨论】:
该列的排序规则似乎区分大小写。如果您希望它始终不区分大小写,请将其排序规则更改为以 ci 结尾的排序规则。如果您想保持原样并且只使查询不区分大小写,那么您可以更改查询中的排序规则。示例:
SELECT *
FROM table1
WHERE name LIKE '%BEJO%' COLLATE utf8_general_ci;
或者,您可以使用LOWER() 或UPPER() 简单地更改两边的大小写。示例:
SELECT *
FROM table1
WHERE UPPER(name) LIKE UPPER('%BEJO%');
【讨论】: