2

在 mySQL 中我必须使用WHERE BINARY UPPER(col1) = col1,但在 Oracle 中它可以正常工作。有人可以向我解释这是为什么吗?我是 mySQL 的新手。

所以用下面的语句来看它

select upper(col1),col1
from mytable
where upper(col1) = col1;

甲骨文的结果:

UPPER(COL1)          COL1               
-------------------- --------------------
JÜRGEN               JÜRGEN               
RENÉ                 RENÉ                 
CARL                 CARL 

结果在 MySQL

UPPER(COL1)          COL1               
-------------------- --------------------
JÜRGEN               JÜRGEN               
JÜRGEN               Jürgen               
RENÉ                 René                 
RENÉ                 RENÉ                 
CARL                 Carl                 
CARL                 CARL 
4

3 回答 3

3

您的 MySQL 排序规则不区分大小写......'CARL' = 'Carl'确实如此。

于 2012-08-23T20:21:27.513 回答
1

将单词 BINARY 放在 WHERE 和 UPPER 之间。这将强制进行区分大小写的比较

于 2012-08-23T20:57:21.463 回答