In Oracle Database, puoi utilizzare TO_CHAR()
funzione per convertire un numero nel suo equivalente esadecimale. Per farlo, usa la X
elemento di formato.
Esempio
Ecco un esempio da dimostrare:
SELECT TO_CHAR(15, 'X')
FROM DUAL;
Risultato:
TO_CHAR(15,'X') __________________ F
F è l'equivalente esadecimale di 15 e quindi è ciò che viene restituito.
Zeri iniziali
Puoi precedere questo elemento solo con 0
(che restituisce zeri iniziali) o FM
(che sopprime il riempimento).
Ecco cosa succede quando lo precede con 0
:
SELECT TO_CHAR(15, '0X')
FROM DUAL;
Risultato:
TO_CHAR(15,'0X') ___________________ 0F
Elimina gli spazi vuoti principali
Se non specifichi né 0
né FM
con X
, il valore restituito ha sempre uno spazio vuoto iniziale.
Ecco cosa succede quando utilizziamo FM
modificatore di formato per sopprimere il riempimento:
SELECT TO_CHAR(15, 'fm0X')
FROM DUAL;
Risultato:
TO_CHAR(15,'FM0X') _____________________ 0F
Lo spazio principale è scomparso.
Maiuscole vs Minuscole
Passaggio di una X
maiuscola restituisce un valore esadecimale maiuscolo e passa una x
minuscola risulta in un valore esadecimale minuscolo:
SELECT
TO_CHAR(15345, 'fm0XXXX'),
TO_CHAR(15345, 'fm0xxxx')
FROM DUAL;
Risultato:
TO_CHAR(15345,'FM0XXXX') TO_CHAR(15345,'FM0XXXX') ___________________________ ___________________________ 03BF1 03bf1
Non interi
Se il numero non è un numero intero, viene arrotondato all'intero più vicino:
SELECT
TO_CHAR(12.49, 'fm0xxxx') AS "12.49",
TO_CHAR(12.50, 'fm0xxxx') AS "12.50"
FROM DUAL;
Risultato:
12.49 12.50 ________ ________ 0000c 0000d