oracle 日期比较

[size=medium][color=green]案例1[/color]
select To_Date('19-01-01','dd/mm/yy') from dual
where to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd')
<to_date('2014-01-05','yyyy-mm-dd')
可以看出 to_date和to_char都可以把给的日期或时间转发为相应的格式
to_date:把字符串转发成日期格式
to_char:把给定的数据(日志,数字等)转化成字符串
区别:在日期比较的时候,不能用字符串比较,数据比较只能转化为日期(to_date)
方法比较
总结:如果是字符串或者转成to_char,在作日期比较前进行相应的日期转化(to_date)

[color=olive]案例2[/color]
正确:
select 1 from dual where sysdate<to_date('2011-01-02','yyyy/mm/dd')

错误:select 1 from dual where to_date(sysdate,'yyyy/mm/dd')
<to_date('2011-01-02','yyyy/mm/dd')
to_date(sysdate,'yyyy/mm/dd') 在作转化报错了
sysdate本身就是日期类型,不用作额外的日期转化
注:1)获取当前时间 sysdate比较时,不用进行相应的转化,直接可以进行比较
2)在一段日期之间可以用 between 日期 and 日期
[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值