В Oracle Database, RAWTONHEX()
функция преобразува необработена стойност в шестнадесетична.
Той е подобен на RAWTOHEX()
функция, с изключение на това, че нейната стойност винаги се връща в националния набор от знаци.
Синтаксис
Синтаксисът е така:
RAWTONHEX(raw)
Пример
Ето един пример:
SELECT
RAWTONHEX(HEXTORAW('f9')) AS "Result",
DUMP(RAWTONHEX(HEXTORAW('f9'))) AS "Dump"
FROM DUAL;
Резултат:
Result Dump _________ _________________________ F9 Typ=1 Len=4: 0,70,0,57
Тук използвах HEXTORAW()
функция за преобразуване на шестнадесетичен низ в RAW
, след което се използва RAWTONHEX()
да го конвертирате обратно. Изходът на DUMP()
функцията показва, че върнатият тип данни е от тип 1.
Нулев аргумент
Ако аргументът е null
, резултатът е null
:
SET NULL 'null';
SELECT RAWTONHEX(null)
FROM DUAL;
Резултат:
null
По подразбиране SQLcl и SQL*Plus връщат празно пространство, когато се появи нулева стойност в резултат на SQL SELECT
изявление.
Въпреки това, можете да използвате SET NULL
за да посочите различен низ, който да бъде върнат. Тук посочих, че низът null
трябва да бъдат върнати.
Невалиден брой аргументи
Извикване на RAWTONHEX()
без никакви аргументи води до грешка:
SELECT RAWTONHEX()
FROM DUAL;
Резултат:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
И предаването на твърде много аргументи също води до грешка:
SELECT RAWTONHEX('a', 'b')
FROM DUAL;
Резултат:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"