Oracle
 sql >> Database >  >> RDS >> Oracle

NLS_COLLATION_ID() Funzione in Oracle

In Oracle Database, il NLS_COLLATION_ID() la funzione restituisce l'ID di una determinata confronto. Si passa il nome delle regole di confronto quando si chiama la funzione, che restituisce l'ID delle regole di confronto.

Sintassi

La sintassi è questa:

NLS_COLLATION_ID(expr)

Dove expr è il nome delle regole di confronto, di tipo VARCHAR2 .

Esempio

Ecco un esempio di base:

SELECT NLS_COLLATION_ID('XAZERBAIJANI')
FROM DUAL;

Risultato:

70

Ecco altri esempi:

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;

Risultato:

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

Fascicolazione non valida

Il passaggio di un nome di confronto non valido restituisce null :

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

Risultato:

null

Per impostazione predefinita, SQLcl e SQL*Plus restituiscono uno spazio vuoto ogni volta che null si verifica come risultato di un SQL SELECT dichiarazione.

Tuttavia, puoi utilizzare SET NULL per specificare una stringa diversa da restituire. Qui ho specificato che la stringa null deve essere restituito.

Argomento nullo

Passaggio null restituisce null :

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

Risultato:

null

Conteggio argomenti errato

La chiamata della funzione senza passare alcun argomento genera un errore:

SELECT NLS_COLLATION_ID()
FROM DUAL;

Risultato:

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:

E anche passare troppi argomenti provoca un errore:

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

Risultato:

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: