to_lower[]
と to_upper[]
は、キャラクタセットの各メンバに対応する、大文字と小文字が格納されるシンプルな配列です。次に例を示します。
to_lower['A'] は 'a' を含む to_upper['a'] は 'A' を含む
sort_order[]
は、文字をどのような順番で比較しソートするかを示すマップです。多くの場合(すべてのキャラクタセットについてではありませんが)、これは
to_upper[]
と同じです(ソートで大文字と小文字が区別されません)。MySQL
は、sort_order[character]
の値に基づいて文字をソートします。さらに複雑なソートルールに関しては、後述の文字列照合の説明を参照してください。
See 項4.7.5. 「文字列照合サポート」。
ctype[]
はビット値の配列で、1
文字が 1 要素です。注意:
to_lower[]
、to_upper[]
、および
sort_order[]
は文字値でインデックス化されますが、ctype[]
は文字値 + 1
でインデックス化されます。これは、EOF
を処理することが必要だったときの古いレガシです。
m_ctype.h
に、以下のビットマスク定義があります。
#define _U 01 /* Uppercase */ #define _L 02 /* Lowercase */ #define _N 04 /* Numeral (digit) */ #define _S 010 /* Spacing character */ #define _P 020 /* Punctuation */ #define _C 040 /* Control character */ #define _B 0100 /* Blank */ #define _X 0200 /* heXadecimal digit */
各文字の ctype[]
エントリは、文字を指定するビットマスク値の組み合わせになっている必要があります。たとえば、'A'
は大文字(_U
)であると同時に 16
進数(_X
)でもあるので、ctype['A'+1]
には以下の値が含まれます。
_U + _X = 01 + 0200 = 0201
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.