Oracle
 sql >> Database >  >> RDS >> Oracle

Funzione CHR() in Oracle

In Oracle, il CHR() La funzione restituisce un carattere basato sui valori del codice forniti come argomento.

Più specificamente, restituisce il carattere che ha l'equivalente binario del suo argomento come VARCHAR2 valore nel set di caratteri del database o, se si specifica USING NCHAR_CS , il set di caratteri nazionale.

Sintassi

La sintassi è questa:

CHR(n [ USING NCHAR_CS ])

Dove n è un NUMBER value o qualsiasi valore che può essere convertito in modo implicito in NUMBER .

Il USING NCHAR_CS argomento è un argomento facoltativo che consente di specificare il set di caratteri nazionale.

Esempio

Ecco un semplice esempio da dimostrare:

SELECT CHR(65)
FROM DUAL;

Risultato:

   CHR(65) 
__________ 
A         

Qui ho fornito un numero e CHR() restituito il carattere corrispondente. In questo caso, il numero intero 65 mappa alla lettera maiuscola A .

Maiuscole/minuscole

Ecco un esempio che distingue una lettera maiuscola dalla sua controparte minuscola:

SELECT 
    CHR(72),
    CHR(104)
FROM DUAL;

Risultato:

   CHR(72)    CHR(104) 
__________ ___________ 
H          h           

Restituisce una stringa di più caratteri

Per produrre una stringa di più caratteri, possiamo concatenare più CHR() funzioni:

Esempio:

SELECT CHR(65) || CHR(77)
FROM DUAL;

Risultato:

   CHR(65)||CHR(77) 
___________________ 
AM                  

Il NCHAR_CS Argomento

Ecco un esempio di passaggio del secondo argomento (facoltativo):

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Risultato:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

È come usare NCHR() funzione.

Valori Nulli

Passaggio null restituisce null :

SET NULL 'null';

SELECT CHR(null)
FROM DUAL;

Risultato:

   CHR(NULL) 
____________ 
null        

Per impostazione predefinita, SQLcl e SQL*Plus restituiscono uno spazio vuoto ogni volta che null si verifica come risultato di un SQL SELECT dichiarazione.

Tuttavia, puoi utilizzare SET NULL per specificare una stringa diversa da restituire. Qui ho specificato che la stringa null deve essere restituito.

Conteggio argomenti errato

Chiamando CHR() senza passare alcun argomento restituisce un errore:

SELECT CHR()
FROM DUAL;

Risultato:

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:

E il passaggio del numero errato di argomenti genera un errore:

SELECT CHR(1, 2, 3)
FROM DUAL;

Risultato:

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: