我用一個變數值@data
接binary data,並想要依照此資料的實際長度去定義變數型態的長度,但在嘗試以下語法會有錯誤訊息,若不能定義@data
為varbinary(max)
,是否意味著只能處理最多varbinary(4000)
的限制呢?但實際上binary data可能是很長的,不知道可以怎麼調整呢?
declare @data varbinary(max)=0x4100410041002E0050004E004700
//error messagr : 接近 '@i' 之處的語法不正確
declare @i int=@data.DataLength
//error messagr : 無法在 varbinary(max) 上呼叫方法。
select @data.DataLength
//想要依照此資料的實際長度去定義變數型態的長度
declare @newData varbinary(@i)
SQL應該會有長度限制,
太長的資料也會造成SQL讀取上的負擔,
如果太長的話就存成檔案吧.
BLOB (Binary Large OBject)