在许多编程语言中,有一个基本的equals运算符,它将查看两个字符串的文本是否相等:
if ("Hi" == "hi") {
//this code runs
}
但也有严格等于运营商:
if ("Hi" === "hi") {
//this code will never run
}
MySQL中的上述代码片段是否有等效的运算符? =
运算符只是没有削减它。如果我跑:
SELECT * FROM users WHERE name = 'john';
MySQL将返回带John
的行,大写为“J”。
感谢您的时间。
答案 0 :(得分:11)
您可以使用COLLATE
运算符将列转换为区分大小写的排序规则:
SELECT * FROM users WHERE name LIKE 'john' COLLATE utf8_bin
MySQL documentation,区分大小写。
答案 1 :(得分:2)
您可以使用STRCMP
:
SELECT * FROM users WHERE STRCMP(name, 'john') = 0;
注意:
如果您使用的是MySQL 4.0+(STRCMP不再区分大小写),必须使用COLLATES :
COLLATE utf8_general_ci
=不区分大小写(ci)COLLATE utf8_general_cs
=区分大小写(cs)