W bazie danych Oracle RAWTONHEX()
funkcja konwertuje surową wartość na szesnastkową.
Jest podobny do RAWTOHEX()
funkcji, z wyjątkiem tego, że jej wartość jest zawsze zwracana w narodowym zestawie znaków.
Składnia
Składnia wygląda tak:
RAWTONHEX(raw)
Przykład
Oto przykład:
SELECT
RAWTONHEX(HEXTORAW('f9')) AS "Result",
DUMP(RAWTONHEX(HEXTORAW('f9'))) AS "Dump"
FROM DUAL;
Wynik:
Result Dump _________ _________________________ F9 Typ=1 Len=4: 0,70,0,57
Tutaj użyłem HEXTORAW()
funkcja do konwersji ciągu szesnastkowego na RAW
, a następnie użyto RAWTONHEX()
aby go z powrotem przekonwertować. Wyjście DUMP()
funkcja pokazuje, że zwrócony typ danych jest typu 1.
Argument zerowy
Jeśli argument jest null
, wynik to null
:
SET NULL 'null';
SELECT RAWTONHEX(null)
FROM DUAL;
Wynik:
null
Domyślnie SQLcl i SQL*Plus zwracają pustą spację za każdym razem, gdy w wyniku SELECT
wystąpi wartość null oświadczenie.
Możesz jednak użyć SET NULL
aby określić inny ciąg do zwrócenia. Tutaj określiłem, że ciąg null
należy zwrócić.
Nieprawidłowa liczba argumentów
Wywołanie RAWTONHEX()
bez żadnych argumentów powoduje błąd:
SELECT RAWTONHEX()
FROM DUAL;
Wynik:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Przekazywanie zbyt wielu argumentów również skutkuje błędem:
SELECT RAWTONHEX('a', 'b')
FROM DUAL;
Wynik:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"