【问题标题】:SSMS 2016: Exporting query results in CSV where fields are enclosed into delimiting quotes.SSMS 2016:以 CSV 格式导出查询结果,其中字段包含在分隔引号中。
【发布时间】:2017-06-11 06:21:37
【问题描述】:

在 SSMS 2016 中保存 .csv 结果时,我缺少一个选项引用包含列表分隔符的字符串。似乎在此版本的 SSMS 中取消了此选项。

我需要将查询结果导出为 CSV 文件(即逗号分隔的变量文件)是一个 UTF-8/ASCII 文本文件,其中记录的长度可变,并以回车符和换行符结尾。字段用逗号明确分隔。建议将所有字段括在分隔引号中。对于那些预期包含以逗号分隔的代码列表的字段,分隔引号是强制性的。

我能够将结果导出到 CSV 文件中,但它缺少分隔引号。例如我有以下输出

Aguilar,F,03191970,H,700,699,240,S

应该是

Aguilar,F,03191970,H,"700,699,240",S

不确定是否有更好的方法来完成同样的任务。请指教。

【问题讨论】:

  • 由于引号的要求仅适用于预期包含以逗号分隔的代码列表的字段,因此我已在我的选择语句中连接以绕过。我仍在寻找更好的解决方案;如果有人有。 ,CASE WHEN rc5 > ' ' THEN '"' + rc1 + ', ' + rc2 + ', ' + rc3 + ', ' + rc4 + ', ' + rc5 + '"' ELSE ' ' END

标签: csv double-quotes ssms-2016


【解决方案1】:

在迁移到新笔记本电脑并安装最新版本的 SSMS 后,我今天遇到了同样的问题。我最终从以下 URL 安装了旧版本的 SSMS 2012 (11.0.6020.0):

【讨论】:

    【解决方案2】:

    在结果网格中,右键单击并选择“将结果另存为”选项。将弹出“保存网格结果”窗口。如果你然后保存为 csv,你会得到一个正确引用的 csv 文件。

    由于某种原因,这与您从菜单栏中选择查询 -> 结果到 -> 结果到文件选项,然后点击执行时得到的结果不同。当您浏览菜单栏时,输出文件中嵌入的分隔符将不会被正确引用,即使您另存为 csv。

    【讨论】:

      猜你喜欢
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 2014-10-31
      • 2015-11-02
      • 2020-11-02
      • 2021-12-25
      • 2022-06-14
      相关资源
      最近更新 更多