By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
DECLARE @YourTable table
(
Id integer NOT NULL PRIMARY KEY,
Val varbinary(50) NOT NULL
)
INSERT @YourTable
(Id, Val)
VALUES
(1, 0x0329000414000B14000C14000D0F00177800224600467800473C00550F00000000000000000000000000),
(2, 0x0329002637000B14000C14000D0F00177800224600467800473C00550F00000000000000000000000000);
DECLARE
@ToFind binary(3) = 0x000000,
@ReplaceWith binary(3) = 0xFFFFFF;
UPDATE YT
SET Val = SUBSTRING(YT.Val, 1, CI.pos - 1) +
@ReplaceWith +
SUBSTRING(YT.Val, CI.pos + 3, 2147483647)
FROM @YourTable AS YT
CROSS APPLY (VALUES(CHARINDEX(@ToFind, YT.Val))) AS CI (pos)
WHERE
CI.pos > 0;
SELECT YT.Id, YT.Val
FROM @YourTable AS YT
ORDER BY YT.Id;
Id | Val |
---|---|
1 | 0x0329000414000B14000C14000D0F00177800224600467800473C00550FFFFFFF00000000000000000000 |
2 | 0x0329002637000B14000C14000D0F00177800224600467800473C00550FFFFFFF00000000000000000000 |