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"