1

我需要帮助将下面的以下 excel 逻辑转换为 SQL 子查询。非常感激您的帮忙。

C栏

  • 第 2 行) 2012 年 10 月 1 日下午 4:24
  • 第 3 行) 2012 年 10 月 1 日下午 4:25
  • 第 4 行) 2012 年 10 月 1 日下午 4:26
  • 第 5 行) 2012 年 10 月 1 日晚上 7:27

累积分钟数

  • 行 2) 2
  • 第 3 行)1
  • 第 4 行)1
  • 第 5 行)45

Excel公式

  • 第 2 行) =IF((C3-C2)>45,45,(C3-C2)*1440)
  • 第 3 行) =IF((C4-C3)>45,45,(C4-C3)*1440)
  • 第 4 行) =IF((C5-C4)>45,45,(C5-C4)*1440)
  • 第 5 行) =IF((C6-C5)>45,45,(C6-C5)*1440)
4

1 回答 1

1

这个怎么样:

WITH CTE(RowNumber, Date) AS(
select 1, '2012-01-10 16:22' union
select 2, '2012-01-10 16:24' union
select 3, '2012-01-10 16:25' union
select 4, '2012-01-10 16:26' union
select 5, '2012-01-10 19:27'
)
select b.Date, IIF(DATEDIFF(minute, a.Date, b.Date) > 45, 45, DATEDIFF(minute, a.Date, b.Date)) as AccumulatedMinutes
from CTE b left outer join CTE a on a.RowNumber = b.RowNumber - 1

它返回:

2012-01-10 16:22    NULL
2012-01-10 16:24    2
2012-01-10 16:25    1
2012-01-10 16:26    1
2012-01-10 19:27    45
于 2013-02-15T10:19:24.643 回答