No banco de dados Oracle, o
RAWTONHEX()
função converte um valor bruto para hexadecimal. É semelhante ao
RAWTOHEX()
função, exceto que seu valor é sempre retornado no conjunto de caracteres nacional. Sintaxe
A sintaxe fica assim:
RAWTONHEX(raw)
Exemplo
Aqui está um exemplo:
SELECT
RAWTONHEX(HEXTORAW('f9')) AS "Result",
DUMP(RAWTONHEX(HEXTORAW('f9'))) AS "Dump"
FROM DUAL;
Resultado:
Result Dump _________ _________________________ F9 Typ=1 Len=4: 0,70,0,57
Aqui, usei o
HEXTORAW()
função para converter uma string hexadecimal para RAW
, então usou RAWTONHEX()
para convertê-lo de volta. A saída do DUMP()
A função mostra que o tipo de dados retornado é do tipo 1. Argumento nulo
Se o argumento for null
, o resultado é null
:
SET NULL 'null';
SELECT RAWTONHEX(null)
FROM DUAL;
Resultado:
null
Por padrão, SQLcl e SQL*Plus retornam um espaço em branco sempre que um valor nulo ocorre como resultado de um SQL SELECT
demonstração.
No entanto, você pode usar SET NULL
para especificar uma string diferente a ser retornada. Aqui eu especifiquei que a string null
deve ser devolvido.
Contagem de argumentos inválidos
Chamando RAWTONHEX()
sem nenhum argumento resulta em um erro:
SELECT RAWTONHEX()
FROM DUAL;
Resultado:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
E passar muitos argumentos também resulta em um erro:
SELECT RAWTONHEX('a', 'b')
FROM DUAL;
Resultado:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"