В Oracle Database, RAWTOHEX()
функция преобразува необработена стойност в шестнадесетична.
Синтаксис
Синтаксисът е така:
RAWTOHEX(raw)
Където raw
може да бъде всякакъв скаларен тип данни, различен от LONG
, LONG
RAW
, CLOB
, NCLOB
, BLOB
, или BFILE
.
Ако аргументът е от тип данни, различен от RAW
, след което функцията преобразува аргумента в RAW
стойност със същия брой байтове данни.
Пример
Ето един пример:
SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL;
Резултат:
374A5CFE
Тук използвах HEXTORAW()
функция за преобразуване на шестнадесетичния низ в RAW
, след което се използва RAWTOHEX()
за да го преобразувате обратно.
Нулев аргумент
Ако аргументът е null
, резултатът е null
:
SET NULL 'null';
SELECT RAWTOHEX(null)
FROM DUAL;
Резултат:
null
По подразбиране SQLcl и SQL*Plus връщат празно пространство, когато се появи нулева стойност в резултат на SQL SELECT
изявление.
Въпреки това, можете да използвате SET NULL
за да посочите различен низ, който да бъде върнат. Тук посочих, че низът null
трябва да бъдат върнати.
Невалиден брой аргументи
Извикване на RAWTOHEX()
без никакви аргументи води до грешка:
SELECT RAWTOHEX()
FROM DUAL;
Резултат:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
И предаването на твърде много аргументи също води до грешка:
SELECT RAWTOHEX('a', 'b')
FROM DUAL;
Резултат:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"