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

SQL Server 2016如何将两列查询结果格式化为指定纯文本格式

解决方案

SQL Server 2016无需编写自定义函数,使用内置的FOR XML PATH拼接逻辑即可实现需求,配合SSMS的文本输出模式就能直接拿到符合要求的纯文本结果。

操作步骤

  • 先切换SSMS的输出模式:按下快捷键Ctrl+T切换为「结果输出为文本」,避免网格模式自动忽略换行、截断长内容。
  • 执行拼接查询,示例代码如下:
SELECT 
    STUFF((
        -- 构造每行的输出格式:名称+冒号+换行+文本内容+换行+分隔线+换行
        SELECT CONCAT(
            name, ':', 
            CHAR(13), CHAR(10), 
            text, 
            CHAR(13), CHAR(10), 
            '_____', 
            CHAR(13), CHAR(10)
        )
        -- 此处替换为你的原始查询的表/子查询,保留原有WHERE、ORDER BY逻辑即可
        FROM your_original_table
        FOR XML PATH(''), TYPE
    -- 避免XML自动转义特殊字符
    ).value('.', 'NVARCHAR(MAX)'), 1, 0, '') AS final_output

补充说明

  • 代码中CHAR(13)+CHAR(10)是Windows标准换行符,SSMS文本输出和普通文本编辑器都能正确识别。
  • 如果text列可能存在NULL值,将text替换为ISNULL(text, '')即可避免整行拼接结果为空。
  • 如果你后续升级到SQL Server 2017及以上版本,可以用更简洁的STRING_AGG函数实现,逻辑和上面一致,只是拼接方式更简单。

内容的提问来源于stack exchange,提问作者P. Paul

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:15:03