Oracle
 sql >> Datenbank >  >> RDS >> Oracle

NLS_COLLATION_ID()-Funktion in Oracle

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: