将SQL查询结果导出为CSV

时间:2013-11-08 11:35:48

标签: sql sql-server excel sqlcmd

我正在使用sqlcmd将带有两列的查询结果导出到csv。简单的查询是:

SELECT DISTINCT
    CustomerGuid, CustomerPassword
FROM
    ServiceOrder
ORDER BY
    CustomerGuid

当我在Excel中打开导出的csv时,客户和密码都在同一列上。是否可以使用sqlcmd将它们拆分为自己的列。我的sqlcmd看起来像

SQLCMD -S . -d BAS -Q "SQL STATEMENT" -s "," -o "c:\data.csv"

感谢。

3 个答案:

答案 0 :(得分:2)

问题是您使用,而不是;作为行分隔符。尝试:

SQLCMD -S . -d BAS -Q "SQL STATEMENT" -s ";" -o "c:\data.csv"

:)

答案 1 :(得分:1)

实际上,这更像是一个Excel问题,已在superuser中得到解答。打开CSV文件时的默认分隔符取决于区域设置。在,是小数点分隔符的区域设置中,默认值为;

您可以修改区域设置中的列表分隔符(不推荐)或打开空工作表并导入数据,指定所需的分隔符。

顺便说一句,在Excel和SharePoint公式中使用相同的规则,您可能需要键入;而不是,来根据您的区域设置分隔值。

答案 2 :(得分:0)

您可能遇到以下问题之一:

CSV输出不会在其列之间使用任何分隔符(您可以通过在常规文本编辑器中打开CSV文件来检查; 或者Excel中为CSV文件设置的列分隔符与输出文件中实际具有的分隔符不匹配。

相关问题