Oracle Databaseでは、TO_CHAR()
を使用できます。 数値を16進数に変換する関数。これを行うには、X
を使用します フォーマット要素。
例
デモンストレーションの例を次に示します。
SELECT TO_CHAR(15, 'X')
FROM DUAL;
結果:
TO_CHAR(15,'X') __________________ F
Fは15に相当する16進数であるため、返されるのはそれです。
先行ゼロ
この要素の前には0
のみを付けることができます (先行ゼロを返します)またはFM
(パディングを抑制します)。
その前に0
を付けると次のようになります :
SELECT TO_CHAR(15, '0X')
FROM DUAL;
結果:
TO_CHAR(15,'0X') ___________________ 0F
先行ブランクの抑制
どちらも指定しない場合0
FM
でもありません X
を使用 、その場合、戻り値には常に先頭に1つの空白があります。
FM
を使用すると次のようになります パディングを抑制するためのフォーマット修飾子:
SELECT TO_CHAR(15, 'fm0X')
FROM DUAL;
結果:
TO_CHAR(15,'FM0X') _____________________ 0F
先頭のスペースが消えました。
大文字と小文字
大文字のX
を渡す 結果は大文字の16進値になり、小文字のx
を渡します。 結果は小文字の16進値になります:
SELECT
TO_CHAR(15345, 'fm0XXXX'),
TO_CHAR(15345, 'fm0xxxx')
FROM DUAL;
結果:
TO_CHAR(15345,'FM0XXXX') TO_CHAR(15345,'FM0XXXX') ___________________________ ___________________________ 03BF1 03bf1
非整数
数値が整数でない場合は、最も近い整数に丸められます:
SELECT
TO_CHAR(12.49, 'fm0xxxx') AS "12.49",
TO_CHAR(12.50, 'fm0xxxx') AS "12.50"
FROM DUAL;
結果:
12.49 12.50 ________ ________ 0000c 0000d