MySQL字符型數據區分大小寫
MySQL存儲字符類型的值時默認是不區分大小寫的。所以在select時如果不指定‘binary’關鍵字時,默認返回的值是忽略大小的。
1
CREATE TABLE `test_t1` (
2
`VR_WEB_ACCOUNT` varchar(100) DEFAULT NULL
3
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1 www.2cto.com
INSERT INTO TEST_T1 VALUES('MySQL'),('mysql');
1
mysql> select * from test_t1 where vr_web_account like 'm%';
2
+----------------+
3
| VR_WEB_ACCOUNT |
4
+----------------+
5
| MySQL |
6
| mysql |
7
+----------------+
8
2 rows in set (0.08 sec)
在查詢條件中使用'binary'關鍵字以後:
1
mysql> select * from test_t1 where binary vr_web_account like 'm%';
2
+----------------+
3
| VR_WEB_ACCOUNT |
4
+----------------+
5
| mysql |
6
+----------------+
7
1 row in set (0.00 sec)
以上不是這篇筆記的重點,本篇主要說的是如何修改column的character collation來達到區分大小寫的目的。關於MySQL四層字符集控制這裡就不累述了。
www.2cto.com
1
ALTER TABLE `TEST_T1` MODIFY COLUMN `VR_WEB_ACCOUNT` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;
1
select * from test_t1 where vr_web_account like 'm%';
2
+----------------+
3
| VR_WEB_ACCOUNT |
4
+----------------+
5
| mysql |
6
+----------------+
7
1 row in set (0.00 sec)
作者 旺仔的鑰匙