【问题标题】:Datediff function in Access DatabaseAccess 数据库中的 Datediff 函数
【发布时间】:2018-04-03 23:06:16
【问题描述】:

我在减去两个日期时尝试使用 Datediff 函数。一个日期带有日期和时间戳,另一个带有日期。如何获取日期的差异?

这里 Column1 是 7/11/2017 4:24:38 PM,Column2 是 15/12/2017,其中没有时间戳。

DateDiff("d",[Column1],[Column2])

【问题讨论】:

  • 显然取决于您使用的数据库类型,但这里是 mysql 的 DATEDIFF dev.mysql.com/doc/refman/5.5/en/… 的文档。 mysql 中的这个函数适用于日期和日期和时间对象
  • 如果两列都没有时间戳,它正在工作。如果一个带有日期,一个带有日期和时间戳,则失败。

标签: sql ms-access


【解决方案1】:

使用 Format 函数将日期列转换为日期时间。请参见下面的示例。 编辑:因为你想要天数和小数点的差异,所以我得到小时的差异,然后除以 24。如果你想要得到分钟或秒的差异,但使用不同的除数,你可以尽可能准确。

SELECT DateDiff("h",
       Now(),
       Format('04/05/2018','mm/dd/yyyy hh:nn:ss'))/24 AS Expr1;

result: 1.125 days

【讨论】:

  • 我无法将日期时间转换为日期,日期的差异预计为十进制格式。即 2.7865 这样的东西
  • 我正在寻找一个将日期转换为时间戳的函数,以便我的输出正确。我使用了“常规日期”,但它没有返回任何差异,而是返回 null。
  • 我更新了答案,但仍在使用格式功能。
  • 如果您喜欢我的回答,请点赞/接受。谢谢。
猜你喜欢
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-08
相关资源
最近更新 更多