Oracle/PLSQL: función RAWTOHEX

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

Oracle/PLSQL: función RAWTOHEX

Este tutorial de Oracle explica cómo usar Oracle/PLSQL función RATOHEX Con sintaxis y ejemplos.

describir

La función Oracle/PLSQL RAWTOHEX convierte valores sin formato en valores hexadecimales. Uno de nuestros espectadores dijo que esta función es útil para mover valores varchar a campos blob.

sintaxis

La sintaxis de la función RAWTOHEX en Oracle/PLSQL es:

RAWTOHEX( raw )

parámetro o parámetro

raw El valor bruto para convertir a un valor hexadecimal.

devolver los bienes

La función RAWTOHEX devuelve un valor de cadena.

notas

Esta función es diferente cuando se usa como un PLSQL integrado que cuando se ejecuta en SQL. Como función PLSQL, la función RAWTOHEX puede realizar una conversión implícita antes de convertir a un valor hexadecimal. Esto puede causar que esta función devuelva valores diferentes entre PLSQL y SQL.

Por ejemplo, si ejecuta el siguiente comando:

DECLARE
a varchar2(8);

BEGIN

   a := rawtohex('AB');
   dbms_output.put_line(a);

   SELECT RAWTOHEX('AB') INTO a FROM dual;

   dbms_output.put_line(a);

END;

El resultado arrojará lo siguiente:

AB
4142

El motivo de la diferencia es que PLSQL está convirtiendo implícitamente “AB” a RAW (considerando “AB” como un solo byte igual a CHR(171)). A RAWTOHEX devuelve la cadena ‘AB’.

Sin embargo, SQL no realiza esta conversión implícita. ‘AB’ ya es un RAW de 2 bytes y su RAWTOHEX devolverá 4142.

aplicar para

La función RAWTOHEX está disponible en las siguientes versiones de Oracle/PLSQL:

  • Oráculo 12c, Oráculo 11g, Oráculo 10g, Oráculo 9i, Oráculo 8i

ejemplo

Veamos algunos ejemplos de la función RAWTOHEX de Oracle y exploremos cómo usar la función RAWTOHEX en Oracle/PLSQL.

Por ejemplo:

RAWTOHEX('AB')
Result: '4142' if run as a SQL function and 'AB' if run as a PLSQL function

RAWTOHEX('7E')
Result: '3745' if run as a SQL function and '7E' as a PLSQL function
(Visited 6 times, 1 visits today)