我在数据库中有4cci和4ccI值。当我运行此查询时,我得到两行。
select * from urls where url = "4cci";
如何进行区分大小写搜索?
答案 0 :(得分:1)
取决于您的文字字段整理
检查 manual
mysql> SET @s1 = 'MySQL' COLLATE latin1_bin,
-> @s2 = 'mysql' COLLATE latin1_bin;
mysql> SELECT @s1 = @s2;
+-----------+
| @s1 = @s2 |
+-----------+
| 0 |
+-----------+
答案 1 :(得分:0)
在要执行区分大小写的搜索列之前使用关键字 BINARY
说明:
BINARY函数将值转换为二进制字符串。
示例
假设我们有一个具有3条记录的表存储,其中两个记录的国家/地区列为“ IN”,一个的国家/地区列为“ in”
select count(*) from stores where BINARY country = 'in';
输出:计数:1
OR
使用 CAST()函数:
说明:
将值转换为DATE数据类型:
select count(*) from stores where CAST(country AS BINARY) = 'IN';
输出:计数:2
这些功能的工作原理:
以简单的示例理解:
SELECT BINARY "HELLO" = "hello";
输出:0
此处MySQL对“ HELLO”和“ hello”执行逐字节比较,并返回0(因为按字节为基础,所以它们不是等效的):