oracle日期按时间点过滤,Oracle数据库日期过滤方法性能比较

在开发SQL时,过滤日期段是经常遇到的情况,如何高效的过滤出日期段?本文通过实验进行验证:

方法一、通过to_char将日期转换成字符串进行比较

to_char(cr.contractenddate, ‘YYYY-MM-DD‘) >= ‘2014-11-13‘

and to_char(cr.contractenddate, ‘YYYY-MM-DD‘) <= ‘2015-11-19‘

耗时:0.171s

方法二、通过to_date将字符串转换成日期进行比较

cr.contractenddate >= to_date(‘2014-11-13‘, ‘YYYY-MM-DD‘)

and cr.contractenddate <= to_date(‘2015-11-19‘, ‘YYYY-MM-DD‘)

耗时:0.093s

方法三、通过数据库关键字between  and 进行比较

cr.contractenddate

between to_date(‘2014-11-13‘, ‘YYYY-MM-DD‘) and to_date(‘2015-11-19‘, ‘YYYY-MM-DD‘)

耗时:0.078s

总结:方法一耗时体现在需要逐个比较字符串的每个字符;

方法二耗时体现在>= 和<=;

推荐使用方法三

原文:http://blog.csdn.net/lhl6688/article/details/43406185

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值