SQL Sever(2005)に於いて、varbinaryのエリアの中身をSQLで確認したい

例えば、1Byte目と3Byte目の内容が見たい!

どの様なSQLならば実現できますか?
また
表示時に、その表記を
 ・10進数で出すには?
 ・16進数で出すには?

教えて下さい

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2009/05/22 16:50:47
  • 終了:2009/05/27 13:47:52

回答(1件)

id:chuken_kenkou No.1

chuken_kenkou回答回数722ベストアンサー獲得回数542009/05/22 18:06:47

ポイント60pt

部分的な参照はsubstring、10進数にするにはcastを使えば可能ではないでしょうか。


create table t1
(id          int primary key identity(1,1),
 name        varchar(10),
 data        varbinary(1000));

insert into t1(name,data) values('a',0x123456789abcdef);
insert into t1(name,data) values('b',0xffffff);
insert into t1(name,data) values('c',0x000000);

insert into t1(name,data) values('d',0x33343536);
insert into t1(name,data) values('e',0x61626364);


select
  *,
  substring(data,2,1),                -- 16進
  cast(substring(data,2,1) as int),   -- 10進
  char(cast(substring(data,2,1) as int))
 from t1;


http://msdn.microsoft.com/ja-jp/library/ms187928(SQL.90).aspx

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません