Funktionsgruppe: Zeichenkettenfunktion
COLLATE() liefert für National-Zeichenketten das Collation-Element (Sortierelement) gemäß der Default Unicode Collation Table (DUCET), siehe „ Basishandbuch“.
Nicht zugeordnete Code Points und Code Points > U+2FFF werden ignoriert. Collation-Elemente reichen bis zur Vergleichsebene 3, die Ebene 4 wird ignoriert.
COLLATE ( ausdruck USING [[ catalog .]INFORMATION_SCHEMA.] [ collation , länge ])
collation ::= { DUCET_WITH_VARS | DUCET_NO_VARS }
länge ::= vorzeichenlose_ganzzahl
ausdruck
National-Ausdruck.
DUCET_WITH_VARS | DUCET_NO_VARS
Name der anzuwendenden Collation (Sortierreihenfolge).
In SESAM/SQL sind alle Collation-Namen vordefiniert. Es sind die Namen, die auch im BS2000-Softwareprodukt SORT für die Sortierung von Zeichenketten definiert sind.
Bei DUCET_NO_VARS werden die variablen Collation-Elemente, z.B. Leerzeichen, Satzzeichen und zu ignorierende Folgezeichen, ignoriert.
Bei DUCET_WITH_VARS werden sie berücksichtigt.
Die Zeichenketten U&'dieselbe' und U&'die selben' sortieren sich bei DUCET_NO_VARS in dieser Reihenfolge, bei DUCET_WITH_VARS in umgekehrter Reihenfolge.
Die Sortierreihenfolge kann durch einen Datenbanknamen und den Schema-Namen INFORMATION_SCHEMA qualifiziert werden, ansonsten wird das INFORMATION_SCHEMA der voreingestellten Datenbank angenommen.
länge
Maximale Länge des Collation-Elements mit 1 <= länge <= 32000.
Länge nicht angegeben:
Das Ergebnis kann abhängig von ausdruck bis zu 32000 Bytes lang werden.
Ergebnis
Wenn ausdruck den NULL-Wert ergibt, dann ist das Ergebnis der NULL-Wert.
Sonst:
Das Ergebnis ist das Collation-Element für ausdruck gemäß der Default Unicode Collation Table (DUCET) in der Länge n = 4 + 6 * (Länge von ausdruck in Code Units), mit n <= 32000.
Wenn die Länge des Collation-Elements größer ist als die angegebene oder die maximale Länge, dann wird die Funktion mit SQLSTATE abgebrochen.
Datentyp: VARCHAR(n)
Beispiele
Ausgabe einer Liste von Kundenkontakten, sortiert nach der Default Unicode Collation Table unter Berücksichtigung der variablen Collation-Elemente:
UNLOAD ONLINE DATA KONTAKT (NACHNAME,VORNAME,ANREDE,KOTELEFON,FUNKTION) -
INTO FILE 'DAT.070.C.DUCETWITHVARS' -
CSV_FORMAT DELIMITER ';' QUOTE '"' ESCAPE '\' EBCDIC -
ORDER BY COLLATE(TRANSLATE(NACHNAME USING EDF041 DEFAULT N'?') -
USING DUCET_WITH_VARS,200) -
ASC, -
COLLATE(TRANSLATE(VORNAME USING EDF041 DEFAULT N'?') -
USING DUCET_WITH_VARS,200) -
ASC
Ausgabe des Collation-Elements für einen Buchstaben:
HEX_OF_VALUE(COLLATE(TRANSLATE ('A' USING EDF041) USING DUCET_NO_VARS))
0E33000020000800
