W bazie danych Oracle RAWTOHEX() funkcja konwertuje surową wartość na szesnastkową.
Składnia
Składnia wygląda tak:
RAWTOHEX(raw)
Gdzie raw może być dowolnym skalarnym typem danych innym niż LONG , LONG RAW , CLOB , NCLOB , BLOB lub BFILE .
Jeśli argument jest typu danych innego niż RAW , funkcja konwertuje argument na RAW wartość z taką samą liczbą bajtów danych.
Przykład
Oto przykład:
SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL; Wynik:
374A5CFE
Tutaj użyłem HEXTORAW() funkcja konwertująca ciąg szesnastkowy na RAW , a następnie użyto RAWTOHEX() aby go z powrotem przekonwertować.
Argument zerowy
Jeśli argument jest null , wynik to null :
SET NULL 'null';
SELECT RAWTOHEX(null)
FROM DUAL; Wynik:
null
Domyślnie SQLcl i SQL*Plus zwracają 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 RAWTOHEX() bez żadnych argumentów powoduje błąd:
SELECT RAWTOHEX()
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 RAWTOHEX('a', 'b')
FROM DUAL; Wynik:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"