【问题标题】:How doing a datediff between current and next date?如何在当前日期和下一个日期之间进行日期差异?
【发布时间】:2020-03-29 16:51:44
【问题描述】:

我想在两列之间做一个 datediff,如示例中所述:

 date 1    date 2
 date 1.1  date 2.1
 date 1.2  date 2.2
 date 1.3  date 2.3
 date 1.4  date 2.4

我想做 datediff (date 2.1,date 1.2), datediff (date 2.2,date 1.3)? datediff(日期 2.3,日期 1.4)...

在日期 2 的当前日期和日期 1 的下一个日期之间做差异。

有什么帮助吗?

【问题讨论】:

  • 在您的 DBMS 文档中查找 lead()
  • 请用您正在使用的数据库标记您的问题。如果您提供实际数据以及相应的预期结果,我也会提供帮助。
  • 用您正在使用的数据库标记我们的问题。

标签: sql sql-server date difference datediff


【解决方案1】:

您可以使用 lag()lead() 。 . .很难说哪个方向。但是像这样:

select t.*,
       datediff(day,
                lag(end_date) over (order by start_date),
                start_date
               ) as dates_between
from t;

【讨论】:

  • 我可以按 id 查询吗?假设我在表的开头有另一个 comlun,我想按 id 执行此查询。请问有什么办法吗?
  • @salwa17 。 . .您的问题在示例数据中没有任何 id。但是您可以使用partition by id 来处理。
猜你喜欢
  • 2019-04-24
  • 2016-06-22
  • 2018-10-29
  • 1970-01-01
  • 1970-01-01
  • 2019-04-23
  • 1970-01-01
  • 2018-11-20
  • 1970-01-01
相关资源
最近更新 更多