Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Função RAWTOHEX() no Oracle


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"