我有一个批处理文件,它调用sqlcmd来运行命令,然后将数据导出为csv。在单元格中查看,例如,被转移的日期显示为35:30.0
,但如果您点击它,则公式栏会显示1/1/1900 2:45:00 PM
。我需要在单元格中显示完整的时间戳。有什么想法吗?
批处理文件如下
sqlcmd -S server -U username -P password -d database -i "D:\path\sqlScript.sql" -s "," > D:\path\report.csv -I -W -k 1
脚本如下。现在我现在把它们作为varchars,但那只是因为我试图改变它。 Varchar也不起作用。
SET NOCOUNT ON;
select top(10)BO.Status,
cast(tradeDate AS varchar) AS Trade_Date,
CAST(closingTime AS varchar) AS Closing_Time,
CAST(openingTime AS varchar) AS openingTime
来自所有表格的巨大复杂联接
答案 0 :(得分:1)
您可以在日期字符串之前或之后添加Excel无法识别的任何字符作为字段分隔符(我使用冒号),并且在打开文件或将文件导入Excel时将保留该字符串。
或者,您可以按原样进行导入,只需在Excel中为日期单元格设置自定义格式:“m / d / yyyy hh:mm:ss A / P”应该完成工作。< / p>
答案 1 :(得分:0)
这不是一个excel格式化问题吗?有什么方法可以确切地检查SQL返回的内容?您在导入向导对话框中为日期列的单元格格式选择了什么? (如果您只是直接在Excel中打开CSV,请尝试使用“文本数据”导入)
答案 2 :(得分:0)
也许csv2odf可行。它有一个-d选项,允许您指定csv文件中日期的格式。它还使用模板(xlsx),您可以格式化日期在Excel中的显示方式。