En Oracle Database, puede usar TO_CHAR()
función para convertir un número a su equivalente hexadecimal. Para hacer esto, use la X
elemento de formato.
Ejemplo
Aquí hay un ejemplo para demostrarlo:
SELECT TO_CHAR(15, 'X')
FROM DUAL;
Resultado:
TO_CHAR(15,'X') __________________ F
F es el equivalente hexadecimal de 15 y eso es lo que se devuelve.
Ceros a la izquierda
Puede preceder este elemento solo con 0
(que devuelve ceros a la izquierda) o FM
(que suprime el relleno).
Esto es lo que sucede cuando lo precedemos con 0
:
SELECT TO_CHAR(15, '0X')
FROM DUAL;
Resultado:
TO_CHAR(15,'0X') ___________________ 0F
Suprimir los espacios en blanco iniciales
Si no especifica ninguno 0
ni FM
con X
, entonces el valor de retorno siempre tiene un espacio en blanco inicial.
Esto es lo que sucede cuando usamos la FM
modificador de formato para suprimir el relleno:
SELECT TO_CHAR(15, 'fm0X')
FROM DUAL;
Resultado:
TO_CHAR(15,'FM0X') _____________________ 0F
El espacio inicial ha desaparecido.
Mayúsculas vs Minúsculas
Pasar una X
mayúscula da como resultado un valor hexadecimal en mayúsculas y pasa un x
en minúsculas da como resultado un valor hexadecimal en minúsculas:
SELECT
TO_CHAR(15345, 'fm0XXXX'),
TO_CHAR(15345, 'fm0xxxx')
FROM DUAL;
Resultado:
TO_CHAR(15345,'FM0XXXX') TO_CHAR(15345,'FM0XXXX') ___________________________ ___________________________ 03BF1 03bf1
No enteros
Si el número no es un entero, entonces se redondea al entero más cercano:
SELECT
TO_CHAR(12.49, 'fm0xxxx') AS "12.49",
TO_CHAR(12.50, 'fm0xxxx') AS "12.50"
FROM DUAL;
Resultado:
12.49 12.50 ________ ________ 0000c 0000d