情况一:无返回结果集(date+trunc)
#当天为20201029
where (cpl.operate_time > date '2020-10-30' or cpl.operate_time > trunc(sysdate))
执行计划:
情况二:有返回结果集(date+date)
#当天为20201029
where (cpl.operate_time > date '2020-10-29' or cpl.operate_time > date '2020-10-28')
执行计划:
情况三:无返回结果集(tunc+sysdate)
#当天为20201029
where (cpl.operate_time > trunc(sysdate) or cpl.operate_time > sysdate-1/24)
执行计划:
情况四:有返回结果集(date +sysdate)
#当天为20201029
where (cpl.operate_time > date '2020-10-29' or cpl.operate_time > sysdate-1/24)
执行计划:
注意:查询对同一个字段有or操作时需统一数据类型,可能原因是类型做了隐式转换。建议不要用系统函数,即使使用也要转换成同一种类型。避免踩坑。