我正在使用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"
感谢。
答案 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文件设置的列分隔符与输出文件中实际具有的分隔符不匹配。