2010-12-29 8 views
45

大文字と小文字の区別をサポートする照合タイプはMySQLにありますか? 私はすべてのタイプの照合をMySQLで行っていました。それらはすべて、その名前の末尾に_ciを持つため、大文字と小文字が区別されません。前もって感謝します。大文字小文字の区別があるMySQLでの照合

答えて

66

MySQLマニュアルhttp://dev.mysql.com/doc/refman/5.0/en/charset-mysql.htmlによれば、大文字と小文字の区別について照合順序を_csに設定する必要があります。どうやら(まだ)MySQLのにはutf8_*_csがない

:あなたは少し研究した後SHOW COLLATION WHERE COLLATION LIKE "%_cs"クエリ


を実行することにより、_cs照合順序のリストを取得することができます。 utf8フィールドで大文字と小文字を区別する照合が必要な場合は、utf8_binを使用してください。この意志台無しORDER BYが、これはORDER BY column COLLATE utf8_general_ci

ソースによって固定することができます。http://forums.mysql.com/read.php?103,19380,200971#msg-200971http://forums.mysql.com/read.php?103,156527,198794#msg-198794

+0

おかげでドイツRumm .......... –

+0

[この](http://mysqlserverteam.com/mysql-8-0-1-accent-and-case -sensitive-collat​​ions-for-utf8mb4 /)には、MySQL 8.0.1以降が付属しています。 – Jagger

7

は、あなたのキャラクタ・セットに応じて、そのようlatin1_binutf8_binとして、_binで終わる照合してみてください。

+0

ありがとうNeil ITは、ユーザー列をutf8_binに設定すると機能しますが、同じ単語のデータを持っていますが、クエリで指定されたデータのみを検索します。Keyur、keyur、KEYURを意味します。とりあえずありがとう............. –

0

新しいバージョンのMySQL(8.0.1以降)は、utf8mb4_*_0900_as_cs照合のセットで(ついに)登場します。

それについての詳細here

関連する問題