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: