No banco de dados Oracle, o
RAWTOHEX()
função converte um valor bruto para hexadecimal. Sintaxe
A sintaxe fica assim:
RAWTOHEX(raw)
Onde
raw
pode ser qualquer tipo de dado escalar diferente de LONG
, LONG
RAW
, CLOB
, NCLOB
, BLOB
, ou BFILE
. Se o argumento for de um tipo de dados diferente de
RAW
, então a função converte o argumento em um RAW
valor com o mesmo número de bytes de dados. Exemplo
Aqui está um exemplo:
SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL;
Resultado:
374A5CFE
Aqui, usei o
HEXTORAW()
função para converter a string hexadecimal para RAW
, então usou RAWTOHEX()
para convertê-lo de volta. Argumento nulo
Se o argumento for null
, o resultado é null
:
SET NULL 'null';
SELECT RAWTOHEX(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 RAWTOHEX()
sem nenhum argumento resulta em um erro:
SELECT RAWTOHEX()
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 RAWTOHEX('a', 'b')
FROM DUAL;
Resultado:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"