gpt4 book ai didi

sql - 计算两连续行之间的时间差

转载 作者:行者123 更新时间:2023-12-02 08:18:12 28 4
gpt4 key购买 nike

我有一张这样的表:

RecordID     TransDate
1 05-Oct-16 9:33:32 AM
2 05-Oct-16 9:33:37 AM
3 05-Oct-16 9:33:41 AM
4 05-Oct-16 9:33:46 AM
5 05-Oct-16 9:33:46 AM

我需要得到连续 TransDate 之间的差异值。我正在使用 SQL Server 2014,并且知道一种使用 LAG 函数来执行此操作的方法,但我不知道该怎么做。

我需要这个输出:
RecordID     TransDate              Diff
1 05-Oct-16 9:33:32 AM 0:00:00
2 05-Oct-16 9:33:37 AM 0:00:05
3 05-Oct-16 9:33:41 AM 0:00:04
4 05-Oct-16 9:33:46 AM 0:00:05
5 05-Oct-16 9:33:46 AM 0:00:00

有任何想法吗?

提前致谢!

最佳答案

这个怎么样:

select recordid, transdate,
cast( (transdate - lag(transdate) over (order by transdate)) as time) as diff
from t;

换句话说,你可以减去两个 datetime值并将结果转换为时间。然后,您可以随意格式化结果。

关于sql - 计算两连续行之间的时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39877919/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com