0
私は、SQl Server 2008データベースに接続するC++/CLIアプリケーションを作成しています。 varbinaryフィールドに格納されている短い整数の配列をどのように退避させることができますか?私は短い整数配列をバイト配列に変換した後にvarbinaryフィールドに格納しています。SQL Serverから整数配列をリトリーブする方法は?
私は、SQl Server 2008データベースに接続するC++/CLIアプリケーションを作成しています。 varbinaryフィールドに格納されている短い整数の配列をどのように退避させることができますか?私は短い整数配列をバイト配列に変換した後にvarbinaryフィールドに格納しています。SQL Serverから整数配列をリトリーブする方法は?
残念ながら、手動で変換する必要があります。 Cではbyte []を、sqlではvarbinaryを使用してみてください。
この威力は
ALTER FUNCTION [dbo].[binToINT]
(
@bin varbinary(max)
)
RETURNS @result table(val int)
AS
BEGIN
if @bin is null
return
declare @ptr smallint = 0, @size smallint = 4
while (@ptr) * @size < LEN(@bin)
begin
insert into @result(val)
values(substring(@bin, (@ptr* @size) + 1, @size))
set @ptr += 1
end
return
END
とソート
declare @result varbinary(max) = 0x
select @result = @result + cast(CAST(token as int) as BINARY(4))
from ...
後に役立ちますが、私のために、私は、整数[]データ型
感謝を持っているオープンソースのdatabseあるpostgreを使用します。それはまさに私が探していたものではありませんでしたが、それは助けになりました。 – DPD