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

如何在SQL Server 2016中通过直接查询实现指定ID范围内多行Random字段的字符串拼接?

解决SQL Server 2016中无存储过程的字符串拼接问题

嘿,别着急,我有个纯查询语句的解决方案刚好适合你的情况!因为SQL Server 2016还没引入STRING_AGG函数(这个是2017才新增的),咱们可以用FOR XML PATH的方式来实现字符串拼接,完全不需要存储过程,直接一条查询就能搞定。

具体查询语句

SELECT 
    -- 通过XML路径拼接后转换为普通字符串
    (SELECT Random
     FROM YourTableName  -- 替换成你的实际表名
     WHERE ConcateCode >= 1 AND ConcateCode < 5
     ORDER BY ConcateCode  -- 保证按ID顺序拼接,和你示例的顺序一致
     FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)') AS CombinedRandom

代码说明

  • FOR XML PATH(''):会把查询到的每一行Random值拼接成一段无标签的XML内容
  • .value('.', 'NVARCHAR(MAX)'):把XML内容转换成普通字符串,避免出现不必要的XML转义字符(你的Random都是字母数字,转义概率极低,但这个步骤能确保结果完全符合预期)
  • ORDER BY ConcateCode:必须加上,这样才能保证拼接顺序和你示例里的ID顺序一致,得到A2dd42f4mRdhu9q0lpms的结果
  • 记得把YourTableName替换成你实际使用的表名

测试结果

用你给出的示例数据运行这条查询,返回的CombinedRandom字段值就是你想要的:A2dd42f4mRdhu9q0lpms

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 19:07:52