我的update语句是:
update Test
set Sect_ID = cast(replace(Sect_ID, '2', '3') as varbinary);它不会取代任何东西。它仍然是相同的旧值。
发布于 2015-02-27 02:14:11
如果Sect_ID是一个varbinary(max)列,您是否尝试在REPLACE()函数调用中将其强制转换为varchar(max)?
使用这个示例模式,事情似乎对我很有效:
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 Foohttps://stackoverflow.com/questions/28749683
复制相似问题