【问题标题】:Excel displays dates as times only by defaultExcel 默认仅将日期显示为时间
【发布时间】:2015-05-14 11:43:38
【问题描述】:

我在分析数据时经常使用 Excel,其中大部分数据来自 SQL Server Management Studio。因此,我将执行查询并使用Copy With Headers 复制结果集,然后将其粘贴到 Excel 中。烦人的是,由于 SQL Server Management Studio 总是插入午夜时间,Excel 坚持只显示时间。

所以值为2015-04-17,但SSMS 将其复制为2015-04-17 00:00:00.000,Excel 将其显示为00:00.0。在大多数情况下,我们的日期字段不包含时间(或隐含的午夜时间),我什至对这些都不感兴趣。我想看看日期。

我知道我可以选择单元格,然后设置它们的日期格式(从功能区中选择 短日期 就可以了),但这是我每次都必须做的事情。有谁知道如何确保时间不被 SSMS 复制,或者 Excel 中的默认显示格式包括日期?

【问题讨论】:

  • 在导出之前/期间是否可以将日期转换为 SMALLDATETIME(不包括秒的部分)或 DATE(不包括时间)?
  • 最后你可以尝试将你的日期转换为varchar类型;)。

标签: sql-server excel datetime


【解决方案1】:

这取决于单元格格式。您可以在粘贴行之前更改此格式单元格。比如可以选中整个文档,在单元格上点右键,点击“单元格格式”(我有其他语言的excel,希望我翻译对了),将所有单元格格式化为文本。

在您的具体情况下,您可以只在您需要的列上执行此操作。

【讨论】:

  • 我相信在 Excel 中将所有日期作为文本并不是真正的目标。
  • @AxelRichter,你是对的。当您格式化单元格时,您可以将它们格式化为所需的日期/时间格式来显示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
  • 1970-01-01
  • 1970-01-01
  • 2019-11-22
  • 1970-01-01
  • 2012-12-07
  • 1970-01-01
相关资源
最近更新 更多