0

我有一个批处理文件,它调用 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

来自各种表格的巨大复杂连接

4

3 回答 3

1

您可以在日期字符串之前或之后添加任何 Excel 无法识别的字符作为字段分隔符(我使用了冒号),当文件打开或导入 Excel 时,该字符串将被保留。

或者,您可以按原样进行导入,只需在 Excel 中为日期单元格设置自定义格式:“m/d/yyyy hh:mm:ss A/P”应该可以完成这项工作。

于 2012-12-12T02:44:19.373 回答
0

也许csv2odf会工作。它有一个 -d 选项,允许您指定 csv 文件中日期的格式。它还使用模板 (xlsx),您可以格式化日期在 Excel 中的显示方式。

于 2012-12-12T02:17:06.733 回答
0

这不是更多的excel格式问题吗?有什么方法可以让您准确检查 SQL 返回的内容?您在导入向导对话框中为日期列的单元格格式选择了什么?(如果您只是直接在 Excel 中打开 CSV,请尝试改用“文本数据”导入)

于 2012-12-11T23:35:38.710 回答