今天在比对数据库表中的时间发生了ORA-01861:文字与格式字符串不匹配的错误。
开始我以为sql语句写错了,仔细检查了一下,并没有发现错误,后来看了表中的时间字段存的数据,发现有的是2015-2-18 12:03:12,有的是2015-2-19。
显然用to_date(time, 'yyyy-mm-dd')直接转是不行的,得先用to_char(time, 'yyyy-MM-dd')格式化一下。
最后变成这样to_date(to_char(time, 'yyyy-MM-dd'), 'yyyy-mm-dd'),就不会报ORA-01861了。
最后和系统的当前时间比较 trunc(sysdate, 'dd')。