2

mySQLでは使用する必要WHERE BINARY UPPER(col1) = col1がありますが、Oracleでは問題なく動作します。誰かが私にこれがなぜであるか説明できますか?私はmySQLを初めて使用します。

それで、次のステートメントでそれを見てください

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

Oracleでの結果:

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

Place the word BINARY between your WHERE and UPPER. That will force a case sensitive comparison

于 2012-08-23T20:57:21.463 に答える