Mysql - 如何进行区分大小写的搜索?

时间:2016-10-21 14:22:43

标签: mysql

我在数据库中有4cci和4ccI值。当我运行此查询时,我得到两行。

   select * from urls where url = "4cci"; 

如何进行区分大小写搜索?

2 个答案:

答案 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(因为按字节为基础,所以它们不是等效的):