5

我正在使用 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"

谢谢。

4

3 回答 3

2

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

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

:)

于 2013-11-08T11:51:01.993 回答
1

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

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

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

于 2013-11-08T11:48:15.233 回答
0

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

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

于 2013-11-08T11:41:12.403 回答