MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
MySQL 照合順序名は、次の規則に従います:
照合順序名は、関連付けられている文字セットの名前で始まり、通常は、他の照合順序特性を示す 1 つ以上の接尾辞が続きます。 たとえば、utf8mb4_general_ci
と latin1_swedish_ci
は、それぞれ utf8mb4
と latin1
の文字セットの照合順序です。 binary
文字セットには、接尾辞のない単一の照合順序 (binary
とも呼ばれる) があります。
言語固有の照合には、ロケールコードまたは言語名が含まれます。 たとえば、トルコ語とハンガリー語のルールをそれぞれ使用して、utf8mb4
文字セットの utf8mb4_tr_0900_ai_ci
および utf8mb4_hu_0900_ai_ci
ソート文字をソートします。utf8mb4_turkish_ci
と utf8mb4_hungarian_ci
は似ていますが、Unicode 照合アルゴリズムの新しいバージョンに基づいています。
照合接尾辞は、照合で大/小文字が区別されるか、アクセントが区別されるか、またはカナが区別されるか (またはその一部の組合せ)、あるいはバイナリかを示します。 次のテーブルに、これらの特性を示すために使用される接尾辞を示します。
表 10.1 照合サフィクスの意味
サフィックス | 意味 |
---|---|
_ai |
アクセントを区別しない |
_as |
アクセントを区別する |
_ci |
大文字小文字を区別しない |
_cs |
Case-sensitive |
_ks |
カナを区別する |
_bin |
バイナリ |
アクセントの区別を指定しない非バイナリ照合順序名の場合、大文字と小文字の区別によって決定されます。 照合名に_ai
または_as
が含まれていない場合、名前に含まれる_ci
は_ai
を意味し、名前に含まれる_cs
は_as
を意味します。 たとえば、latin1_general_ci
では、大/小文字が明示的に区別されず、暗黙的にアクセントが区別されません。latin1_general_cs
では、明示的に大/小文字が区別され、暗黙的にアクセントが区別されます。utf8mb4_0900_ai_ci
では、大/小文字が明示的に区別されず、アクセントも区別されません。
日本語照合の場合、_ks
接尾辞は照合順序がカタカナに依存することを示します。つまり、カタカナ文字とひらがな文字を区別します。 _ks
接尾辞のない日本語照合は、カナに依存せず、カタカナ文字とひらがな文字をソート用に同等に扱います。
binary
文字セットの binary
照合順序の場合、比較は数値バイト値に基づきます。 非バイナリ文字セットの_bin
照合の場合、比較は、マルチバイト文字のバイト値とは異なる数値文字コード値に基づきます。 binary
文字セットの binary
照合順序と非バイナリ文字セットの_bin
照合順序の違いについては、セクション10.8.5「バイナリ照合順序と_bin 照合順序」 を参照してください。
Unicode 文字セットの照合順序名には、照合順序の基になる Unicode 照合アルゴリズム (UCA) のバージョンを示すバージョン番号を含めることができます。 名前にバージョン番号が含まれていない UCA ベースの照合では、version-4.0.0 UCA の重みキーが使用されます。 例:
utf8mb4_0900_ai_ci
は UCA 9.0.0 の重みキー (http://www.unicode.org/Public/UCA/9.0.0/allkeys.txt) に基づいています。
utf8mb4_unicode_520_ci
は UCA 5.2.0 の重みキー (http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt) に基づいています。
utf8mb4_unicode_ci
(バージョン名なし) は UCA 4.0.0 重みキー (http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt) に基づいています。
Unicode 文字セットの場合、
照合順序では、元の xxx
_general_mysql500_ci
照合順序の 5.1.24 以前の順序が保持され、MySQL 5.1.24 より前に作成されたテーブルのアップグレードが許可されます (Bug #27877)。
xxx
_general_ci