mysql查询条件区分大小写

更新时间:01-29 教程 由 花心症 分享

在使用MySQL进行数据查询的时候,有时候需要对查询条件进行区分大小写操作。MySQL默认是不区分大小写的,但是在某些场景下需要区分大小写,该如何实现呢?

下面我们将介绍如何在MySQL中进行查询条件的大小写区分。

-- 创建一个测试表CREATE TABLE `test` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;-- 插入测试数据INSERT INTO `test` (`id`, `name`) VALUES (1, 'Hello'), (2, 'hello');

假设我们要查询test表中name字段值为Hello的数据,如果使用默认的MySQL查询语句,是不区分大小写的:

-- 不区分大小写查询SELECT * FROM test WHERE name = 'hello';

执行以上查询语句结果会返回id为1和2的两行数据。

但是如果我们需要区分大小写,可以使用BINARY关键字来进行区分:

-- 区分大小写查询SELECT * FROM test WHERE BINARY name = 'Hello';

执行以上查询语句结果只会返回id为1的一行数据。

除了使用BINARY关键字来区分大小写外,还可以使用COLLATE函数。COLLATE函数可以在查询时指定使用的字符集,从而实现大小写的区分。

-- 使用COLLATE函数查询SELECT * FROM test WHERE name COLLATE utf8_bin = 'Hello';

以上查询语句执行结果与使用BINARY关键字查询的结果一样,只返回id为1的一行数据。

以上就是在MySQL中进行查询条件大小写区分的方法,可以根据实际情况选择使用BINARY关键字或COLLATE函数。

声明:关于《mysql查询条件区分大小写》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2260130.html