En Oracle Database, el NLS_CHARSET_NAME() La función devuelve el nombre del juego de caracteres de un juego de caracteres determinado, en función de su ID. Pasa el ID del conjunto de caracteres como argumento y la función devuelve su nombre.
Sintaxis
La sintaxis es así:
NLS_CHARSET_NAME(number)
Donde number es el ID del conjunto de caracteres para el que desea devolver el nombre.
Ejemplo
He aquí un ejemplo básico:
SELECT NLS_CHARSET_NAME(1)
FROM DUAL; Resultado:
US7ASCII
Aquí está con un ID de juego de caracteres diferente:
SELECT NLS_CHARSET_NAME(871)
FROM DUAL; Resultado:
UTF8
Argumento nulo
Si el argumento es null , el resultado es null :
SET NULL 'null';
SELECT NLS_CHARSET_NAME(null)
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.
ID de conjunto de caracteres no válido
Pasar un ID de conjunto de caracteres no válido da como resultado null :
SET NULL 'null';
SELECT NLS_CHARSET_NAME(19999)
FROM DUAL; Resultado:
null
Sin embargo, pasar el tipo de datos incorrecto devuelve un error:
SELECT NLS_CHARSET_NAME('oops')
FROM DUAL; Resultado:
Error starting at line : 1 in command -
SELECT NLS_CHARSET_NAME('oops')
FROM DUAL
Error report -
ORA-01722: invalid number Recuento de argumentos incorrecto
Llamar a la función sin pasar ningún argumento da como resultado un error:
SELECT NLS_CHARSET_NAME()
FROM DUAL; Resultado:
Error starting at line : 1 in command - SELECT NLS_CHARSET_NAME() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function" *Cause: *Action:
Pero al pasar varios ID de conjuntos de caracteres, se devuelve el nombre del primero:
SELECT NLS_CHARSET_NAME(871, 1)
FROM DUAL; Resultado:
UTF8