将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文件设置的列分隔符与实际在输出文件中的分隔符不匹配。