人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQL Serverのストアドプロシージャに関する質問です。
ストアドプロシージャ内で、10進数16桁の数値を、16文字の16進数文字列に
変換してデータベースに格納したいのですがうまくいきません。


@NUM_VALUE = 1000000000000000 (10進数16桁)

変換↓

@STR_VALUE = ”00038D7EA4C68000” (16文字の16進数文字列)


HEX関数のようなものは存在するのでしょうか。
もしやり方をご存知の方がいらしたら教えてください。
簡単なサンプルがあると助かります。

環境
OS:Windows 2000
データベース:Microsoft SQL Server 2000 (SP3)

●質問者: nandaroukun
●カテゴリ:コンピュータ
✍キーワード:Microsoft OS SQL Server Windows 2000 データベース
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ちゃぼりん
●80ポイント

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja...

bigint型からvarbinary型への変換で、16桁の整数を16進数へ変換することが可能です。


--Sample

DECLARE @testNumber as bigint

set @testNumber = 1000000000000000

SELECT CAST(@testNumber as varbinary) as resultHex

--


ちなみに、numeric型からは変換できないようですし、変換値も保証されていないそうです。

また、インラインで1000000000000000を記述すると、10桁以上の数は暗黙でnumeric型として扱われるので、明示的にbigint型を宣言した変数を用意して、値を代入する必要があるみたいです。

◎質問者からの返答

返信遅くなってすいません。また、ありがとうございます。

実際のコードにて、できることを確認しました。

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ