具体描述.
    我要查询一段时间内的某个信息, 例如2009-1-10 0:00 到2009-2-10 0:00这段时间的记录
    可表有这些字段startyear,startmonth,startday,starthour,startminute 和endyear,endmonth,endday,endhour,endminute 这些字段(当然还有别的字段了。.略)
    这些字段里面已经存放好了年月日小时分钟了.(开始时间和结束时间)
    现在我要用SQL写(用存储过程了) .我遇到了这样一个问题. 我想用循环提出每个字段去比较.但效率太低.
    就算是用循环了.我是怎么判断是否扫描到表的最后一行了呢?
    读出某个时间内的内容是否有更好的SQL算法呢?
    最好写个完成的算法,小弟感激。
   

解决方案 »

  1.   


       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式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)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  2.   

    先猜一下。例如2009-1-10 0:00 到2009-2-10 0:00这段时间的记录
    select * 
    from xxxx
    where startyear*10000+startmonth*100+startday between 20090110 and 20090210
      

  3.   

     貌似select本来就是一行一行取数的,我还想用循环的,看来我想多了。。- -!