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

Funzione ASCIISTR() in Oracle

In Oracle Database, ASCIISTR() La funzione restituisce una versione ASCII della stringa data nel set di caratteri del database.

Sintassi

La sintassi è questa:

ASCIISTR(char)

Dove char è una stringa o un'espressione che si risolve in una stringa, in qualsiasi set di caratteri.

I caratteri non ASCII vengono convertiti nel formato \xxxx , dove xxxx rappresenta un'unità di codice UTF-16.

Esempio

Ecco un esempio:

SELECT ASCIISTR('Fish')
FROM DUAL;

Risultato:

Fish

In questo caso, il risultato è lo stesso dell'input, perché l'input utilizza caratteri ASCII.

Eccone un altro che utilizza caratteri non ASCII:

SELECT ASCIISTR('ปลา')
FROM DUAL;

Risultato:

\0E1B\0E25\0E32

Qui, otteniamo ciascuno dei tre caratteri restituiti nei loro equivalenti ASCII.

In questo caso, l'input (ปลา ) è la parola tailandese per “pesce”. Questo può essere pronunciato come “Plā”.

Ecco cosa succede quando superiamo Plā al ASCIISTR() funzione:

SELECT ASCIISTR('Plā')
FROM DUAL;

Risultato:

Pl\0101

In questo caso, i primi due caratteri che abbiamo passato sono caratteri ASCII, ma il terzo carattere non è ASCII. Pertanto, la funzione restituisce i primi due caratteri invariati e il terzo convertito in ASCII.

Eccone un altro che supera น้ำ , che è la parola tailandese per "acqua":

SELECT ASCIISTR('น้ำ')
FROM DUAL;

Risultato:

\0E19\0E49\0E33

Valori nulli

Se l'argomento è null , il risultato è null :

SET NULL 'null';
SELECT ASCIISTR(null)
FROM DUAL;

Risultato:

null

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

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

Conteggio argomenti non valido

Chiamando ASCIISTR() senza alcun argomento genera un errore:

SELECT ASCIISTR()
FROM DUAL;

Risultato:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"