4
ソースデータがASCII 16進数でフォーマットされています。私はそれをVARBINARYフィールドのSQLデータベースに入れる必要があります。私は何をしたいのかを説明するために、問題を最小限に抑えました。VARBINARYをストアドプロシージャに渡す
CREATE PROCEDURE BinaryDemo
@BinaryData varbinary(max)
AS
BEGIN
PRINT @BinaryData;
END
私が行うことができますので、私はそれが「作品」ということを知っている:私は、ストアドプロシージャ持っ
DECLARE @tmp varbinary(max);
SET @tmp = CONVERT(varbinary, '1234567890abcdef', 2);
EXEC BinaryDemo @[email protected];
を私は何をしたいのですが、中間のステップをスキップして、のようなプロシージャを呼び出すです。
EXEC BinaryDemo @BinaryData=CONVERT(varbinary, '1234567890abcdef', 2);
残念ながら、SQL構文は文句:キーワード 'CONVERT' 付近に不適切な構文を。
PRINT CONVERT(varbinary, '1234567890abcdef', 2);
と私は期待して正確に何を参照してください。
私は私ができるので、CONVERTが正しいことを知っています。最初の例(declare/set/exec)はソースデータの性質と量のために実際には貧弱な選択肢です。
どの**バージョン**あなたが使用しています? –
可能性のある[TSQLの整数をキャストし、varcharに連結する]の複製(http://stackoverflow.com/questions/4936180/cast-integer-and-concatenate-to-varchar-in-tsql) –
@marc_s:SQL 2008R2; – BillP3rd