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

RAWTONHEX() Funzione in Oracle

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

È simile a RAWTOHEX() funzione, tranne per il fatto che il suo valore viene sempre restituito nel set di caratteri nazionale.

Sintassi

La sintassi è questa:

RAWTONHEX(raw)

Esempio

Ecco un esempio:

SELECT 
    RAWTONHEX(HEXTORAW('f9')) AS "Result",
    DUMP(RAWTONHEX(HEXTORAW('f9'))) AS "Dump"
FROM DUAL;

Risultato:

   Result                      Dump 
_________ _________________________ 
F9        Typ=1 Len=4: 0,70,0,57   

Qui, ho usato HEXTORAW() funzione per convertire una stringa esadecimale in RAW , quindi utilizzato RAWTONHEX() per riconvertirlo. L'output di DUMP() mostra che il tipo di dati restituito è di tipo 1.

Argomento nullo

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

SET NULL 'null';
SELECT RAWTONHEX(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

Chiamata a RAWTONHEX() senza alcun argomento genera un errore:

SELECT RAWTONHEX()
FROM DUAL;

Risultato:

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

E anche il passaggio di troppi argomenti provoca un errore:

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

Risultato:

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