:: DEVELOPER ZONE
デフォルトでは、MySQL 検索では大文字と小文字は区別されませんが(ケース非依存)、中には、ケース依存のキャラクタセット(czech)もあります。
つまり、col_name LIKE 'a%' で検索すると、A または a で始まる全カラムの値が検出されます。これをケース依存にする場合は、INSTR(col_name, "A")=1 としてプリフィックスをチェックします。または、カラム値が確実に "A" でなければならない場合は、STRCMP(col_name, "A") = 0 を使用します。
簡単な比較演算(>=、>、=、<、<=、ソートおよびグループ化)は、各文字の ``ソート値'' に基づいています。同じソート値のある文字(E、e および e など)は、同じ文字として扱われます。
旧 MySQL バージョンでは、LIKE 比較は、各文字の大文字の値(E == e but E <> e)で実行されました。新しい MySQL バージョンでは、LIKE は他の比較演算と同じように動作します。
カラムを常にケース依存で扱う場合は、BINARY として宣言します。 See 項6.5.3. 「CREATE TABLE 構文」。
Big5 と呼ばれるエンコードで中国語データを使用している場合、すべての文字カラムを BINARY にします。Big5 エンコード文字のソート順序は ASCII コードの順序に基づいているため、これが機能します。
© 1995-2005 MySQL AB. All rights reserved.
