表里面有两个字段,in_date,out_date,如何查两个的差值,out_date有的是空的,有的显示0001-01-01(实际上也是空值),有的有值,我是这样写的nvl2(out_date,to_date(to_char(out_date,'YY-MM-DD'),''YY-MM-DD)-to_date(to_char(in_date,'YY-MM-DD'),''YY-MM-DD),to_date(to_char(sysdate,'YY-MM-DD'),''YY-MM-DD)-to_date(to_char(in_date,'YY-MM-DD'),''YY-MM-DD)),查询日期差几天,但是排除不了out_date显示0001-01-01这种,要用什么函数才好
具体要怎么写才能简洁高效
如何办
追答判断
case when out_date is null or out_date = to_date('0001-01-01','yyyy-mm-dd')
then trunc(sysdate)-trunc(in_date)
else trunc(out_date) - trunc(in_date)
end