En Oracle, el CHR()
La función devuelve un carácter basado en los valores de código proporcionados como argumento.
Más específicamente, devuelve el carácter que tiene el equivalente binario a su argumento como VARCHAR2
valor en el conjunto de caracteres de la base de datos o, si especifica USING
NCHAR_CS
, el juego de caracteres nacional.
Sintaxis
La sintaxis es así:
CHR(n [ USING NCHAR_CS ])
Donde n
es un NUMBER
valor, o cualquier valor que se pueda convertir implícitamente a NUMBER
.
El USING
NCHAR_CS
argumento es un argumento opcional que le permite especificar el juego de caracteres nacional.
Ejemplo
Aquí hay un ejemplo simple para demostrarlo:
SELECT CHR(65)
FROM DUAL;
Resultado:
CHR(65) __________ A
Aquí proporcioné un número y CHR()
devolvió el carácter correspondiente. En este caso, el entero 65
se asigna a la letra mayúscula A
.
Sensibilidad de mayúsculas y minúsculas
Aquí hay un ejemplo que distingue una letra mayúscula de su contraparte minúscula:
SELECT
CHR(72),
CHR(104)
FROM DUAL;
Resultado:
CHR(72) CHR(104) __________ ___________ H h
Devolver una cadena de varios caracteres
Para producir una cadena de caracteres múltiples, podemos concatenar múltiples CHR()
funciones:
Ejemplo:
SELECT CHR(65) || CHR(77)
FROM DUAL;
Resultado:
CHR(65)||CHR(77) ___________________ AM
El NCHAR_CS
Argumento
Aquí hay un ejemplo de pasar el segundo argumento (opcional):
SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;
Resultado:
CHR(257USINGNCHAR_CS) ________________________ ā
Esto es lo mismo que usar NCHR()
función.
Valores nulos
Pasando null
devuelve null
:
SET NULL 'null';
SELECT CHR(null)
FROM DUAL;
Resultado:
CHR(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 CHR()
sin pasar ningún argumento devuelve un error:
SELECT CHR()
FROM DUAL;
Resultado:
Error starting at line : 1 in command - SELECT CHR() 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 CHR(1, 2, 3)
FROM DUAL;
Resultado:
Error starting at line : 1 in command - SELECT CHR(1, 2, 3) 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: