16 進数の 文字列 を生成する組み込み関数があります。 バイナリ値から
SELECT '#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 0)), '#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 255))
プレ>
binary(3)
が必要です 出力文字列の正しい長さを確保するために
これは間違っています。ここの 0 と 255 は 4 バイトのint
であるため、4 桁の 16 進数を取得します。 値SELECT '#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 0)), '#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 255))
プレ>2017 年 10 月の更新:
変換は SQL Server に組み込まれているため (2008 年以降!!)、単純に CONVERT を使用できます
SELECT '#' + CONVERT(char(6), CONVERT(BINARY(3), 2570841), 2)
プレ>