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: