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"