oracle 日期比较

阅读更多
案例1
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和to_char都可以把给的日期或时间转发为相应的格式
to_date:把字符串转发成日期格式
to_char:把给定的数据(日志,数字等)转化成字符串
区别:在日期比较的时候,不能用字符串比较,数据比较只能转化为日期(to_date)
      方法比较
总结:如果是字符串或者转成to_char,在作日期比较前进行相应的日期转化(to_date)

案例2
正确:
select 1 from dual where sysdate
错误:select 1 from dual where to_date(sysdate,'yyyy/mm/dd')
to_date(sysdate,'yyyy/mm/dd') 在作转化报错了
sysdate本身就是日期类型,不用作额外的日期转化
注:1)获取当前时间 sysdate比较时,不用进行相应的转化,直接可以进行比较
     2)在一段日期之间可以用 between 日期 and 日期

你可能感兴趣的:(oracle,to_date)