将SQL查询结果导出到CSV

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

谢谢。

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

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

🙂

其实这更像是一个Excel问题,已经以超级用户的身份回答了。 打开CSV文件时的默认分隔符取决于语言环境。 在区域设置中,是小数点分隔符,默认是;

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

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

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

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