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

Função RAWTONHEX() no Oracle


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"