轉換,我需要一個查詢,將在VARBINARY找到一個字符串的一部分,並刪除在字符串使用替換並與VARBINARY
例如我的表dbo.inventory_table已列CharacterIdx和數據的請求的一部分。 數據是目標列包含VARBINARY所以characteridx 101756數據是這樣的
0x2105000000000000430000000000000000003C090000000000002C0100000200000000F83D09000000000000580200000400000000F83E09000000000000E80300000600000000F8
我希望查詢以查找並刪除
3C090000000000002C0100000200000000F83D09000000000000580200000400000000F83E09000000000000E80300000600000000F8
,但留下
0x210500000000000043000000000000000000
其中CharacterIdx = 101756
我試過
UPDATE [dbo].[Inventory_table]
SET Data = REPLACE(Data, '3C090000000000002C0100000200000000F83D09000000000000580200000400000000F83E09000000000000E80300000600000000F8', '')
WHERE CharacterIdx = 101756
但它給我一個錯誤:
Msg 257, Level 16, State 3, Line 3
Implicit conversion from data type varchar to varbinary is not allowed.
Use the CONVERT function to run this query.
我需要的字符串,雖然仍然VARBINARY。
作爲REPLACE'的'第二個參數,使用'0x',而不是'「」'。你也不應該把第一個參數放在引號之間;代替這個,用「0x」作爲前綴。 http://stackoverflow.com/questions/24494778/how-to-perform-a-replace-on-varbinary-data-in-sql – 2014-10-06 22:32:44
那些'000000'也可能會導致你的問題。因爲這是一個NULL字符。你可能需要'COLLATE Latin1_General_100_BIN2' – 2014-10-06 22:50:11