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: