You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MSSQL如何替换varbinary类型列中间指定位置的随机数据

Varbinary指定位置批量替换方案

可以通过指定偏移位置的方式实现批量修改,核心使用SQL原生的STUFF函数即可完成,该函数支持直接对varbinary类型做指定位置的内容替换。

操作逻辑说明

  • 根据你给出的起始位置67、结束位置131,先计算需要替换的长度:替换长度 = 结束位置 - 起始位置 + 1,计算结果为65字节
  • 你需要填充的全FF目标内容,对应65字节的varbinary值可以直接写为固定值
  • STUFF函数参数逻辑:STUFF(原字段, 起始位置, 替换长度, 要替换成的内容)

示例代码

-- 先执行查询验证,确认替换结果符合预期后再做更新
SELECT 
    inventory AS 原内容,
    STUFF(inventory, 67, 65, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) AS 替换后内容
FROM 你的表名;

-- 验证无误后执行更新操作
UPDATE 你的表名
SET inventory = STUFF(inventory, 67, 65, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)
-- 可补充WHERE条件过滤需要更新的行,避免误操作
WHERE 过滤条件;

注意事项

  • 这里的位置计数是从1开始的字节偏移量,和你给出的67、131的计数规则匹配,如果你的位置是从0开始计数的,把起始位置参数改为68即可
  • 正式执行更新前一定要先跑SELECT查询验证替换结果,避免因为位置计数偏差导致数据错误
  • 如果不同行需要替换的长度不一致,也可以把长度参数换成动态计算的字段值,适配不同行的差异需求

内容的提问来源于stack exchange,提问作者Noob404

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:06:02