毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

sql 查询连续数据缺少的数据

更新时间:2013-4-15:  来源:毕业论文

sql 查询连续数据缺少的数据
表ABC
字段:
id      time                              anli
1       2013/1/29 14:20:00      10
2       2013/1/29 14:25:00      40
3       2013/1/29 14:30:00      15
4       2013/1/29 14:35:00      10
5       2013/1/29 14:45:00      11
6       2013/1/29 15:05:00      36

现在的情况是anli的值是5分钟一个数据自动入库的,但是他中间有的时候会丢失数据,比如第4条到第5条之间缺一条2013/1/29 14:40:00的数据  第5条到第6条间缺3条数据,现在用SQL查出这里缺的数据并显示缺数的时间,请高手帮忙,我是VB弄的小程序来查的,但是弄到这里就不懂了

'首先查询到最大和最小值 Dim dt As DateSet rs = cn.Execute("SELECT Min([time]) As mintime, Max([time]) As maxtime FROM ABC")   '然后循环查询 For dt = rs!mintime To rs!maxtime Stemp CDate("00:05:00")     Set rs = cn.Execute("SELECT * FROM ABC WHERE [time] = #" & Format(dt, "yyyy-mm-dd HH:nn:ss") & "#")     If rs.EOF Then Debug.Print Format(dt, "yyyy-mm-dd HH:nn:ss") Next dt

For dt = rs!mintime To rs!maxtime Step CDate("00:05:00")

分别取出相邻的时间的时H和分M 换算成分 h*60+m  h1*60+m1
((h1*60+m1)-(h*60+m))/5-1
循环..... For dt = rs!mintime To rs!maxtime Step CDate("00:05:00")

从数据库表中查到的最小时间,循环到最大时间,步长是 5 分钟。

当然,由于最小时间和最大时间是数据库中查到的,必定存在,似乎不必查对。仅仅是为了简单而已。

实际上,从最小时间 + 5 分钟,循环到最大时间 - 5 分钟即可。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。