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