请教一个查询SQL的问题
想查询某个时间段的记录数:
select count(*)
from LOG_DATA
where
BEGINTIME>'1970-01-01 08:00:00' and ENDTIME>'1970-01-01 08:00:00'
and (to_date(ENDTIME,'yyyy-mm-dd hh24:mi:ss')-to_date(BEGINTIME,'yyyy-mm-dd hh24:mi:ss'))*24*3600<=10;
当BEGINTIME或者ENDTIME有'0000-00-00 00:00:00'时会报错:
ERROR:
ORA-01843: 无效的月份
但是我已经在前面做了限制
BEGINTIME>'1970-01-01 08:00:00' and ENDTIME>'1970-01-01 08:00:00'
难道当前面的条件不满足,Oracle还要搜索后面的条件吗?奇怪!
请教各位有没有解决的办法呢?谢谢!