sql >> Base de Datos >  >> RDS >> Oracle

Función CHR() en Oracle

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: