Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我如何在使用LIKE时获得数据而不区分大小写?_Mysql_Sql - Fatal编程技术网

Mysql 我如何在使用LIKE时获得数据而不区分大小写?

Mysql 我如何在使用LIKE时获得数据而不区分大小写?,mysql,sql,Mysql,Sql,我正在尝试使用获取名称,如“%BEJO%”,但找不到任何记录,因为数据库中的数据是'BEJO' 我如何使用像“%Bejo%”这样的来获取名称'Bejo'?(不区分大小写)尝试以下操作: select t1.* from table1 t1 where LOWER(column_name) LIKE LOWER('%BEJO%'); 该列的排序规则似乎区分大小写。如果希望它始终不区分大小写,则将其排序规则更改为以ci结尾的排序规则。如果希望保持原样,并且只使查询不区分大小写,则可以更改查询中的排

我正在尝试使用
获取名称,如“%BEJO%”
,但找不到任何记录,因为数据库中的数据是
'BEJO'

我如何使用像“%Bejo%”这样的
来获取名称
'Bejo'
?(不区分大小写)

尝试以下操作:

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

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

SELECT *
FROM table1
WHERE name LIKE '%BEJO%' COLLATE utf8_general_ci;
SELECT *
FROM table1
WHERE UPPER(name) LIKE UPPER('%BEJO%');
或者,您可以简单地使用
LOWER()
UPPER()
更改两侧的大小写。例如:

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

这取决于您正在使用的排序规则。有些排序规则不区分大小写(例如,
utf8 general ci
),而有些排序规则则不区分大小写。请尝试此链接: