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

RAWTOHEX() Funzione in Oracle

In Oracle Database, il RAWTOHEX() converte un valore grezzo in esadecimale.

Sintassi

La sintassi è questa:

RAWTOHEX(raw)

Dove raw può essere qualsiasi tipo di dati scalare diverso da LONG , LONG RAW , CLOB , NCLOB , BLOB o BFILE .

Se l'argomento è di un tipo di dati diverso da RAW , quindi la funzione converte l'argomento in un RAW valore con lo stesso numero di byte di dati.

Esempio

Ecco un esempio:

SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL;

Risultato:

374A5CFE

Qui, ho usato HEXTORAW() funzione per convertire la stringa esadecimale in RAW , quindi utilizzato RAWTOHEX() per riconvertirlo.

Argomento nullo

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

SET NULL 'null';
SELECT RAWTOHEX(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 RAWTOHEX() senza alcun argomento genera un errore:

SELECT RAWTOHEX()
FROM DUAL;

Risultato:

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

E anche passare troppi argomenti provoca un errore:

SELECT RAWTOHEX('a', 'b')
FROM DUAL;

Risultato:

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