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"