sql >> Base de Datos >  >> RDS >> Oracle

Función NLS_COLLATION_ID() en Oracle

En Oracle Database, el NLS_COLLATION_ID() La función devuelve el ID de una colación dada. Pasas el nombre de la intercalación cuando llamas a la función y devuelve el ID de la intercalación.

Sintaxis

La sintaxis es así:

NLS_COLLATION_ID(expr)

Donde expr es el nombre de la intercalación, de tipo VARCHAR2 .

Ejemplo

He aquí un ejemplo básico:

SELECT NLS_COLLATION_ID('XAZERBAIJANI')
FROM DUAL;

Resultado:

70

Aquí hay algunos ejemplos más:

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;

Resultado:

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

Colección no válida

Pasar un nombre de colación no válido da como resultado null :

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

Resultado:

null

De forma predeterminada, SQLcl y SQL*Plus devuelven un espacio en blanco cada vez que null ocurre como resultado de un SQL SELECT declaración.

Sin embargo, puede usar SET NULL para especificar una cadena diferente a devolver. Aquí especifiqué que la cadena null debe ser devuelto.

Argumento nulo

Pasando null devuelve null :

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

Resultado:

null

Recuento de argumentos incorrecto

Llamar a la función sin pasar ningún argumento da como resultado un error:

SELECT NLS_COLLATION_ID()
FROM DUAL;

Resultado:

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:

Y pasar demasiados argumentos también da como resultado un error:

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

Resultado:

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: