如何优化这样的SQL语句?(刚才标题输错了)
在sybase数据库表中有个time字段,类型为datetime,现要实现这样的功能:
用户要查询某年某月中任意天,每天任意小时的数据
如:查询2001年11月1,2,3,4,...29日1,2,3,...23时的数据
在我的sql语句中条件是这样的:
where datepart(yy,time)=2001
and datepart(mm,time)=11
and datepart(dd,time) in (1,2,3,4,5,...29)
and datepart(hh,time) in (1,2,3,...23)
当表中数据量少时还可以,担当表中有几万条数据时查询速度就太慢了。当表中有十几万条数据时就查不出来了。如果使用如下条件sql语句又会超长
where time='2001-11-1 1:00:00'
or time='2001-11-1 2:00:00'
...
or time='2001-11-29 23:00:00'
请高手指教我该如何编写这条sql语句?