En Oracle, el NCHR()
La función devuelve el carácter que tiene el equivalente binario a su argumento en el juego de caracteres nacional.
Es el equivalente a usar CHR()
función con USING
NCHAR_CS
argumento.
Sintaxis
La sintaxis es así:
NCHR(number)
Donde number
es un NUMBER
valor, o cualquier valor que se pueda convertir implícitamente a NUMBER
.
El valor devuelto siempre es NVARCHAR2
.
Ejemplo
Aquí hay un ejemplo simple para demostrarlo:
SELECT NCHR(257)
FROM DUAL;
Resultado:
NCHR(257) ____________ ā
Aquí proporcioné un número y NCHR()
devolvió el carácter correspondiente en el juego de caracteres nacional. En este caso, el entero 257
se asigna al carácter ā
.
Podemos lograr el mismo resultado con CHR()
función al usar el USING
NCHAR_CS
argumento:
SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;
Resultado:
CHR(257USINGNCHAR_CS) ________________________ ā
Valores nulos
Pasando null
devuelve null
:
SET NULL 'null';
SELECT NCHR(null)
FROM DUAL;
Resultado:
NCHR(NULL) _____________ 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.
Recuento de argumentos incorrecto
Llamando a NCHR()
sin pasar ningún argumento devuelve un error:
SELECT NCHR()
FROM DUAL;
Resultado:
Error starting at line : 1 in command - SELECT NCHR() 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:
Y pasar el número incorrecto de argumentos da como resultado un error:
SELECT NCHR(1, 2, 3)
FROM DUAL;
Resultado:
Error starting at line : 1 in command - SELECT NCHR(1, 2, 3) FROM DUAL Error at Command Line : 1 Column : 19 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action: