oracle中有没有什么函数来代替半开闭时间区间
例如:strTime>='2010-10-10' and strTime<'2010-10-20' 由于这种操作速度很慢!小妹在线等,谢谢!
例如:strTime>='2010-10-10' and strTime<'2010-10-20' 由于这种操作速度很慢!小妹在线等,谢谢!
解决方案 »
- imp导入遇到的问题 imp-00058 ora-00904
- 帮忙看看这个sql语句有没有更好的写法(选择执行where条件后的语句),期待各位的回帖
- 急求一条sql语句,在线等!
- 关于.net 2005中,在数据库连接时用到的CreateObject的问题
- 第一次遇到这么怪的问题....
- SQL多表查询的问题
- 问个简单的问题,exp和Imp这两个命令在哪里执行呀
- CB+BDE+Oracle 如何按日期查询 在线等待!!!
- 关于数据同步的问题,请高手指点
- ORACLE有时出现超过打开的最大的游标数错误,请问怎么解决!(在线等待,一定给分)
- 关于pro*c和delphi
- 有3张表,a,b,c a跟b有关系,b跟c有关系
to_date('2010-10-10', 'yyyy-MM-dd')
select * from tb1 where strTime between to_date('2010-10-10', 'yyyy-MM-dd') and (to_date('2010-10-20', 'yyyy-MM-dd')-1)
strTime>=to_date('2010-10-10', 'yyyy-mm-dd') and strTime<to_date('2010-10-20', 'yyyy-mm-dd')试试这样可以
如果仅仅是时间慢的话,不妨在strTime字段上建索引试试看!
strTime>=date'2010-10-10' and strTime < date'2010-10-20'
注意看下后面的一个日期-1天了 如果是传的参数 前一个是包括本身 但是后面一个时间-1天了 <20就是<=19
如果你的strTime是时间类型,你则需要将设定的字符串转换成时间类型,如果有索引则可以正常使用。
如果你的strTime是字符串类型,索引生成的索引可能就有问题,是不是使用索引oracle会根据你使用的RBO还是CBO来确定。
你的需求下面的是SQL是正确的,前提是strTime是date类型,你可以在strTime上见索引来提高查询速度strTime>=to_date('2010-10-10', 'yyyy-mm-dd') and strTime<to_date('2010-10-20', 'yyyy-mm-dd')下面的前提是strTime是字符串类型,你建立索引有可能会用不到,这根据你的优化器选择的类型有关strTime>='2010-10-10' and strTime<'2010-10-20'