sql >> Databasteknik >  >> RDS >> Oracle

NLS_COLLATION_ID() Funktion i Oracle

I Oracle Database, NLS_COLLATION_ID() funktion returnerar ID:t för en given sortering. Du skickar sorteringsnamnet när du anropar funktionen, och det returnerar sorterings-ID:t.

Syntax

Syntaxen ser ut så här:

NLS_COLLATION_ID(expr)

Där expr är sorteringsnamnet, av typen VARCHAR2 .

Exempel

Här är ett grundläggande exempel:

SELECT NLS_COLLATION_ID('XAZERBAIJANI')
FROM DUAL;

Resultat:

70

Här är några fler exempel:

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;

Resultat:

        1         2       3       4 
_________ _________ _______ _______ 
   208920    208917    4116    4112

Ogiltig sortering

Att skicka ett ogiltigt sorteringsnamn resulterar i null :

SET NULL 'null';
SELECT NLS_COLLATION_ID('Oops!')
FROM DUAL;

Resultat:

null

Som standard returnerar SQLcl och SQL*Plus ett tomt utrymme när null uppstår som ett resultat av en SQL SELECT påstående.

Du kan dock använda SET NULL för att ange en annan sträng som ska returneras. Här specificerade jag att strängen null bör returneras.

Nollargument

Skickar null returnerar null :

SET NULL 'null';
SELECT NLS_COLLATION_ID(null)
FROM DUAL;

Resultat:

null

Inkorrekt antal argument

Att anropa funktionen utan att skicka några argument resulterar i ett fel:

SELECT NLS_COLLATION_ID()
FROM DUAL;

Resultat:

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:

Och att skicka för många argument resulterar också i ett fel:

SELECT NLS_COLLATION_ID('JAPANESE_M', 'THAI_M')
FROM DUAL;

Resultat:

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:

  1. Hur man arbetar med PostgreSQL-databaser

  2. Hur returnerar man en array från Java till PL/SQL?

  3. Skapa en "Senast ändrad" kolumn i SQL Server

  4. Så här kontrollerar du datumformatet för din Oracle-session