覆盖二进制中的第n个字节(256)

时间:2014-04-18 06:51:08

标签: sql-server tsql

如何使用存储过程覆盖二进制(256)中的第n个字节? 该过程接受两个参数:

@n tinyint -- index of byte
@value tinyint -- value to be written

我知道我可以使用substring函数读取一个字节,所以我认为我可以使用stuff函数编写一个字节,但它不起作用。

我正在使用SQL Server 2012。

1 个答案:

答案 0 :(得分:0)

您可以使用stuff,但会返回一个新值,而不是就地更改该值。

set @pattern = stuff(@pattern, 5, 1, 0x80); -- changes 5th byte to 0x80