+ -
当前位置:首页 → 问答吧 → slq server 通过时间的间隔来查询,求高手答疑

slq server 通过时间的间隔来查询,求高手答疑

时间:2011-12-28

来源:互联网

有一些数据 
他们的记录的时间如下  

我想从第一条开始 往后 每间隔5分钟 提取一条记录 请问怎么写SQL语句?
例如第一条是 2:10:21
那么第二条要提取的就是 2:15的内容
第三条要提取的就是 2:20的内容

  因为秒数记录时间不同, 所以要忽略秒数的不同 按照'分'来作为提取的条件

2:10:21
2:11:51
2:13:51
2:15:51
2:17:21
2:19:22
2:20:52
2:22:52
2:24:22
2:26:22
2:28:22
2:29:52
2:31:53
2:33:53
2:35:23
2:36:53
2:38:53
2:40:23
2:42:23
2:43:54
......

作者: jogwu   发布时间: 2011-12-28

SQL code
DECLARE @BDATE DATETIME
SELECT @BDATE='1970-1-1 2:10:21'
SELECT *
FROM TB
WHERE DATEDIFF(MIN,@BDATE,CONVERT(DATETIME,'1970-1-1 '+COL))%5=0

作者: kuqideyupian   发布时间: 2011-12-28

引用 1 楼 kuqideyupian 的回复:
SQL code
DECLARE @BDATE DATETIME
SELECT @BDATE='1970-1-1 2:10:21'
SELECT *
FROM TB
WHERE DATEDIFF(MIN,@BDATE,CONVERT(DATETIME,'1970-1-1 '+COL))%5=0



+COL有什么作用?菜鸟求调教

作者: jogwu   发布时间: 2011-12-28

col就是你所在的列名 加上就构造了具体时间

作者: fredrickhu   发布时间: 2011-12-28

引用 3 楼 fredrickhu 的回复:
col就是你所在的列名 加上就构造了具体时间


感谢大大!!!

作者: jogwu   发布时间: 2011-12-28

TB是你的表名,COL是你那一列的列名

作者: kuqideyupian   发布时间: 2011-12-28

写个存储过程放JOB里面跑,时间间隔每5分钟一次

作者: sz_vcp2007   发布时间: 2011-12-28