具体描述.
我要查询一段时间内的某个信息, 例如2009-1-10 0:00 到2009-2-10 0:00这段时间的记录
可表有这些字段startyear,startmonth,startday,starthour,startminute 和endyear,endmonth,endday,endhour,endminute 这些字段(当然还有别的字段了。.略)
这些字段里面已经存放好了年月日小时分钟了.(开始时间和结束时间)
现在我要用SQL写(用存储过程了) .我遇到了这样一个问题. 我想用循环提出每个字段去比较.但效率太低.
就算是用循环了.我是怎么判断是否扫描到表的最后一行了呢?
读出某个时间内的内容是否有更好的SQL算法呢?
最好写个完成的算法,小弟感激。
我要查询一段时间内的某个信息, 例如2009-1-10 0:00 到2009-2-10 0:00这段时间的记录
可表有这些字段startyear,startmonth,startday,starthour,startminute 和endyear,endmonth,endday,endhour,endminute 这些字段(当然还有别的字段了。.略)
这些字段里面已经存放好了年月日小时分钟了.(开始时间和结束时间)
现在我要用SQL写(用存储过程了) .我遇到了这样一个问题. 我想用循环提出每个字段去比较.但效率太低.
就算是用循环了.我是怎么判断是否扫描到表的最后一行了呢?
读出某个时间内的内容是否有更好的SQL算法呢?
最好写个完成的算法,小弟感激。
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
select *
from xxxx
where startyear*10000+startmonth*100+startday between 20090110 and 20090210