V databázi Oracle je to RAWTONHEX()
funkce převede nezpracovanou hodnotu na šestnáctkovou.
Je to podobné jako RAWTOHEX()
funkce, kromě toho, že její hodnota je vždy vrácena v národní znakové sadě.
Syntaxe
Syntaxe vypadá takto:
RAWTONHEX(raw)
Příklad
Zde je příklad:
SELECT
RAWTONHEX(HEXTORAW('f9')) AS "Result",
DUMP(RAWTONHEX(HEXTORAW('f9'))) AS "Dump"
FROM DUAL;
Výsledek:
Result Dump _________ _________________________ F9 Typ=1 Len=4: 0,70,0,57
Zde jsem použil HEXTORAW()
funkce pro převod hexadecimálního řetězce na RAW
, pak použil RAWTONHEX()
převést zpět. Výstup DUMP()
funkce ukazuje, že vrácený datový typ je typu 1.
Nulový argument
Pokud je argument null
, výsledkem je null
:
SET NULL 'null';
SELECT RAWTONHEX(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í RAWTONHEX()
bez jakýchkoli argumentů vede k chybě:
SELECT RAWTONHEX()
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 RAWTONHEX('a', 'b')
FROM DUAL;
Výsledek:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"