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

Función RAWTOHEX() en Oracle

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

Sintaxis

La sintaxis es así:

RAWTOHEX(raw)

Donde raw puede ser cualquier tipo de datos escalares que no sea LONG , LONG RAW , CLOB , NCLOB , BLOB , o BFILE .

Si el argumento es de un tipo de datos que no sea RAW , luego la función convierte el argumento en un RAW valor con el mismo número de bytes de datos.

Ejemplo

He aquí un ejemplo:

SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL;

Resultado:

374A5CFE

Aquí, usé HEXTORAW() función para convertir la cadena hexadecimal a RAW , luego usó RAWTOHEX() para volver a convertirlo.

Argumento nulo

Si el argumento es null , el resultado es null :

SET NULL 'null';
SELECT RAWTOHEX(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

Llamando a RAWTOHEX() sin ningún argumento da como resultado un error:

SELECT RAWTOHEX()
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 RAWTOHEX('a', 'b')
FROM DUAL;

Resultado:

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