SQL两行之间日期运算

背景:测试数据采集是否按照采集周期进行数据采集。

采集周期:10s。

【表结构】

CREATE TABLE [dbo].[TDATA] (
[DDATE] [datetime] NOT NULL,
[DVALUE] [float] NULL )

【数据】

2017-02-27 11:50:30.000       3479
2017-02-27 11:50:40.000       3481
2017-02-27 11:50:42.000       3483
2017-02-27 11:50:53.000       3485

【SQL语句 - 查询最大的采集存库间隔】

原理:第二行-第一行,第三行-第二行......

实现:

WITH newtbl AS 
(
SELECT ROW_NUMBER() OVER(ORDER BY ddate) AS id, * FROM dbo.TDATA
)

select max(diff) from (
SELECT *,ISNULL(
(SELECT datediff(second, ddate, t.ddate) FROM newtbl WHERE id=t.id-1 AND ddate<t.ddate ),
0) AS diff FROM newtbl t
)  as tbllast


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值