替换为varbinary

时间:2015-02-26 18:07:46

标签: sql sql-server sql-server-2008

我正在尝试替换var binary,但我没有成功。

我的更新声明是:

update Test 
set Sect_ID = cast(replace(Sect_ID, '2', '3') as varbinary);

它不会取代任何东西。它仍然是旧的价值。

1 个答案:

答案 0 :(得分:0)

如果Sect_IDvarbinary(max)列,您是否尝试将其投放到varchar(max)函数调用中的REPLACE()

使用此示例架构,事情似乎对我有用:

CREATE TABLE Foo (Bar varbinary(max))

INSERT INTO Foo (Bar) 
VALUES (CAST('1234' AS varbinary(MAX)))

现在运行此命令,您将看到值按预期更新:

SELECT * 
FROM Foo

UPDATE Foo
SET Bar = CAST(REPLACE(CAST(Bar AS varchar(MAX)), '2', '5') AS varbinary(MAX));

SELECT * 
FROM Foo