In der Oracle-Datenbank die NLS_COLLATION_ID()
Die Funktion gibt die ID einer bestimmten Sortierung zurück. Sie übergeben den Kollationsnamen beim Aufrufen der Funktion und sie gibt die Kollatierungs-ID zurück.
Syntax
Die Syntax lautet wie folgt:
NLS_COLLATION_ID(expr)
Wobei expr
ist der Sortierungsname vom Typ VARCHAR2
.
Beispiel
Hier ist ein einfaches Beispiel:
SELECT NLS_COLLATION_ID('XAZERBAIJANI')
FROM DUAL;
Ergebnis:
70
Hier sind einige weitere Beispiele:
SELECT
NLS_COLLATION_ID('UCA0620_THAI') AS "1",
NLS_COLLATION_ID('UCA0620_TSPANISH') AS "2",
NLS_COLLATION_ID('CANADIAN_M') AS "3",
NLS_COLLATION_ID('FRENCH_M') AS "4"
FROM DUAL;
Ergebnis:
1 2 3 4 _________ _________ _______ _______ 208920 208917 4116 4112
Ungültige Sortierung
Das Übergeben eines ungültigen Sortierungsnamens führt zu null
:
SET NULL 'null';
SELECT NLS_COLLATION_ID('Oops!')
FROM DUAL;
Ergebnis:
null
Standardmäßig geben SQLcl und SQL*Plus ein Leerzeichen zurück, wenn null
tritt als Ergebnis eines SQL SELECT
auf Erklärung.
Sie können jedoch SET NULL
verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null
zurückgegeben werden soll.
Null-Argument
Übergabe von null
gibt null
zurück :
SET NULL 'null';
SELECT NLS_COLLATION_ID(null)
FROM DUAL;
Ergebnis:
null
Falsche Argumentanzahl
Der Aufruf der Funktion ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT NLS_COLLATION_ID()
FROM DUAL;
Ergebnis:
Error starting at line : 1 in command - SELECT NLS_COLLATION_ID() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
Und das Übergeben zu vieler Argumente führt ebenfalls zu einem Fehler:
SELECT NLS_COLLATION_ID('JAPANESE_M', 'THAI_M')
FROM DUAL;
Ergebnis:
Error starting at line : 1 in command - SELECT NLS_COLLATION_ID('JAPANESE_M', 'THAI_M') FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: