4
我有一些格式爲ASCII十六進制的源數據。我需要將它放到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);
,我看看到底是什麼我的期望。由於源數據的性質和數量,第一個示例(declare/set/exec)確實是一個糟糕的選項。
**哪個版本的SQL Server **您使用的? –
可能的重複[轉換整型和連接到varchar在TSQL](http://stackoverflow.com/questions/4936180/cast-integer-and-concatenate-to-varchar-in-tsql) –
@marc_s:SQL 2008R2; – BillP3rd