sql >> Database >  >> RDS >> Oracle

NLS_COLLATION_ID() Functie in Oracle

In Oracle Database, de NLS_COLLATION_ID() functie retourneert de ID van een bepaalde sortering. U geeft de sorteernaam door wanneer u de functie aanroept, en het retourneert de sorteer-ID.

Syntaxis

De syntaxis gaat als volgt:

NLS_COLLATION_ID(expr)

Waar expr is de sorteernaam, van het type VARCHAR2 .

Voorbeeld

Hier is een eenvoudig voorbeeld:

SELECT NLS_COLLATION_ID('XAZERBAIJANI')
FROM DUAL;

Resultaat:

70

Hier zijn nog enkele voorbeelden:

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;

Resultaat:

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

Ongeldige sortering

Het doorgeven van een ongeldige sorteernaam resulteert in null :

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

Resultaat:

null

Standaard retourneren SQLcl en SQL*Plus een spatie wanneer null treedt op als resultaat van een SQL SELECT uitspraak.

U kunt echter SET NULL . gebruiken om een ​​andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null moet worden geretourneerd.

Nullargument

Doorgeven van null retourneert null :

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

Resultaat:

null

Onjuist aantal argumenten

Het aanroepen van de functie zonder het doorgeven van argumenten resulteert in een fout:

SELECT NLS_COLLATION_ID()
FROM DUAL;

Resultaat:

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:

En het doorgeven van te veel argumenten resulteert ook in een fout:

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

Resultaat:

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. Oracle Case Statement uitgelegd met tips en voorbeelden

  2. Inleiding tot wachtstatistieken

  3. Stap voor stap postgres_fdw

  4. Door de gebruiker gedefinieerd type wijzigen in SQL Server