V databázi Oracle je to RAWTOHEX()
funkce převede nezpracovanou hodnotu na šestnáctkovou.
Syntaxe
Syntaxe vypadá takto:
RAWTOHEX(raw)
Kde raw
může být jakýkoli skalární datový typ jiný než LONG
, LONG
RAW
, CLOB
, NCLOB
, BLOB
, nebo BFILE
.
Pokud je argument jiného datového typu než RAW
, pak funkce převede argument na RAW
hodnotu se stejným počtem datových bajtů.
Příklad
Zde je příklad:
SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL;
Výsledek:
374A5CFE
Zde jsem použil HEXTORAW()
funkce pro převod hexadecimálního řetězce na RAW
, pak použil RAWTOHEX()
převést zpět.
Nulový argument
Pokud je argument null
, výsledkem je null
:
SET NULL 'null';
SELECT RAWTOHEX(null)
FROM DUAL;
Výsledek:
null
Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo, kdykoli se v důsledku příkazu SQL SELECT
objeví hodnota null prohlášení.
Můžete však použít SET NULL
určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null
by měl být vrácen.
Neplatný počet argumentů
Volání RAWTOHEX()
bez jakýchkoli argumentů vede k chybě:
SELECT RAWTOHEX()
FROM DUAL;
Výsledek:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
A předání příliš mnoha argumentů také vede k chybě:
SELECT RAWTOHEX('a', 'b')
FROM DUAL;
Výsledek:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"