【问题标题】:Calculate hours difference in datetime计算日期时间的小时差
【发布时间】:2010-04-18 06:03:32
【问题描述】:

我有一系列日期时间值。我想选择它们之间相差 2 小时或更长时间的记录。

2010-02-11 08:55:00.000
2010-02-11 10:45:00.000
2010-02-11 10:55:00.000
2010-02-11 12:55:00.000
2010-02-11 14:52:00.000
2010-02-11 16:55:00.000
2010-02-11 17:55:00.000
2010-02-11 23:55:00.000
2010-02-12 00:55:00.000
2010-02-12 02:55:00.000

预期(下一个比较的日期是与最后一个符合 2 小时差异条件的日期):

2010-02-11 08:55:00.000
2010-02-11 10:55:00.000
2010-02-11 12:55:00.000
2010-02-11 16:55:00.000
2010-02-11 23:55:00.000
2010-02-12 02:55:00.000

我使用的是 SQL 2005 或 2008

【问题讨论】:

  • 你能给我们更多的背景信息吗?为什么要两个小时?你真正想要达到什么目标?
  • 显然客户一天有很多记录,所以为了减少记录,他们决定保持 2 小时的差异......我猜对他们有用。
  • 您是否要查找间隔至少为 2 小时的所有日期?
  • 为什么 2010-02-11 10:45:00.000 -> 2010-02-11 12:55:00.000 没有输出?

标签: sql-server datetime


【解决方案1】:

使用 DATEDIFF 函数,例如

 select datediff(mi,Date1, IsNull(Date2, Date1)) from Table1

请阅读来自 MSDN 的 this

【讨论】:

  • 没有产生预期的输出
猜你喜欢
  • 2021-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-14
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
相关资源
最近更新 更多