to_lower[] und to_upper[] sind einfache Arrays, die die Klein- bzw. Großbuchstaben enthalten, die den einzelnen Mitgliedszeichen des Zeichensatzes entsprechen. Zum Beispiel:
to_lower['A'] should contain 'a' to_upper['a'] should contain 'A'
sort_order[] bildet die Art und Weise ab, wie Zeichen zu Vergleichs- und Sortierzwecken anzuordnen sind. Recht häufig – aber nicht immer – ist dies identisch mit to_upper[], was bedeutet, dass bei der Sortierung die Groß-/Kleinschreibung unterschieden wird. MySQL sortiert Zeichen basierend auf den Werten von sort_order[]-Elementen. Informationen zu komplexeren Sortierregeln entnehmen Sie der Beschreibung der String-Sortierung in Abschnitt 5.11.5, „Unterstützung für String-Vergleiche“.
ctype[] ist ein Array mit Bitwerten, wobei jeweils ein Element für ein Zeichen vorhanden ist. (Beachten Sie, dass to_lower[], to_upper[] und sort_order[] über den Zeichenwert indiziert werden, ctype[] hingegen über den Zeichenwert + 1. Dies ist eine Altkonvention zur Verarbeitung von EOF.)
In m_ctype.h finden Sie die folgenden Bitmaskendefinitionen:
#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 */
Der Eintrag ctype[] eines Zeichens sollte die Union der anwendbaren Bitmaskenwerte sein, die das Zeichen beschreiben. Beispielsweise ist 'A' sowohl ein Großbuchstabe (_U) als auch eine Hexadezimalziffer (_X), d. h. ctype['A'+1] sollte folgenden Wert enthalten:
_U + _X = 01 + 0200 = 0201
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.
