SQLServerで10進数から16進数に変換する3つの方法は次のとおりです。
例1-CONVERT()関数
まず、CONVERT()
を使用します 働き。これにより、SQLServerのデータ型間で変換できます。
この関数を使用して10進値を16進に変換する例を次に示します。
SELECT CONVERT(VARBINARY(8), 64683) Result;
結果:
+------------+ | Result | |------------| | 0x0000FCAB | +------------+
この場合、10進値64683
を変換します VARBINARY(8)へ 。
例2– CAST()関数
または、CAST()
を使用することもできます 前の例と同じことを行う関数:
SELECT CAST(64683 AS VARBINARY(8)) Result;
結果:
+------------+ | Result | |------------| | 0x0000FCAB | +------------+
CAST()
に注意してください およびCONVERT()
わずかに異なる構文を使用します。 CAST()
の場合 キャストされる値が最初に来ますが、CONVERT()
ではその逆です。 。
例3– FORMAT()関数
FORMAT()
を使用することもできます 10進値を16進文字列としてフォーマットする関数。
SELECT FORMAT(64683, 'X') Result;
結果:
+----------+ | Result | |----------| | FCAB | +----------+
X
引数は、結果の形式が16進数であることを指定するものです。
小文字のx
を使用することもできます 結果が小文字を使用することを指定するには:
SELECT FORMAT(64683, 'x') Result;
結果:
+----------+ | Result | |----------| | fcab | +----------+
この関数の戻り値はnvarcharです 。これは、値をバイナリ定数として返す他の2つの関数とは異なります(0x
でわかります)。 プレフィックス)。