ワイズリマインダー

MySQLのWHEREで大文字小文字を区別させる

こんなデータが入っている

mysql> SELECT * FROM `TABLE`;
+------+------+
| no   | name |
+------+------+
|    1 | test |
|    2 | TEST |
+------+------+

この時、次のどちらのコマンドを実行しても
同じ答えが返ってくる

SELECT * FROM `TABLE` WHERE name = 'test';
+------+------+
| no   | name |
+------+------+
|    1 | test |
|    2 | TEST |
+------+------+
1 row in set (0.00 sec)

SELECT * FROM `TABLE` WHERE name = 'TEst';
+------+------+
| no   | name |
+------+------+
|    1 | test |
|    2 | TEST |
+------+------+
1 row in set (0.00 sec)

MySQLでは大文字小文字を区別しない
BINARYを追記することで区別するようになる

SELECT * FROM `TABLE` WHERE name = BINARY 'test';
+------+------+
| no   | name |
+------+------+
|    1 | test |
+------+------+
1 row in set (0.00 sec)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください