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

SQL Server拼接补零7位数字字符串时如何为每个值添加双引号

修正后的完整代码

declare @t table(ctl_num int)
-- 修复原INSERT语法错误,多值插入每个值需单独用括号包裹
insert into @t values(5675),(45464),(2323)

declare @control_num varchar(500)

set @control_num = '(' + (
    select stuff((
        -- 每个值前后拼接双引号,前导零补7个保证短数字也能凑够7位
        select ',"' + right('0000000' + cast(ctl_num as varchar),7) + '"'
        from @t
        FOR XML PATH('')
    ),1, 1, '') -- 修复原STUFF参数的多余单引号错误
) + ')'

关键修改说明

  • 修复了原代码两处语法问题:INSERT多值插入的格式错误、STUFF函数最后一个参数的多余单引号
  • 拼接每个补零后的编号时,前后直接包裹双引号即可实现目标格式
  • 前导零从3个改成7个,是为了兼容1位的极小数值,避免补零不足导致长度不够7位的问题
  • 最终结果外层包裹括号,输出格式完全匹配需求:("0005675","0045464","0002323")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:24:02