sql >> Base de Datos >  >> RDS >> Oracle

Función RAWTONHEX() en Oracle

En Oracle Database, el RAWTONHEX() La función convierte un valor bruto a hexadecimal.

Es similar al RAWTOHEX() función, excepto que su valor siempre se devuelve en el juego de caracteres nacional.

Sintaxis

La sintaxis es así:

RAWTONHEX(raw)

Ejemplo

He aquí un ejemplo:

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   

Aquí, usé HEXTORAW() función para convertir una cadena hexadecimal a RAW , luego usó RAWTONHEX() para volver a convertirlo. La salida de DUMP() La función muestra que el tipo de datos devuelto es del tipo 1.

Argumento nulo

Si el argumento es null , el resultado es null :

SET NULL 'null';
SELECT RAWTONHEX(null)
FROM DUAL;

Resultado:

null

De forma predeterminada, SQLcl y SQL*Plus devuelven un espacio en blanco cada vez que se produce un valor nulo como resultado de un SQL SELECT declaración.

Sin embargo, puede usar SET NULL para especificar una cadena diferente a devolver. Aquí especifiqué que la cadena null debe ser devuelto.

Recuento de argumentos no válidos

Llamar a RAWTONHEX() sin ningún argumento da como resultado un error:

SELECT RAWTONHEX()
FROM DUAL;

Resultado:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

Y pasar demasiados argumentos también da como resultado un error:

SELECT RAWTONHEX('a', 'b')
FROM DUAL;

Resultado:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"