--decode不太好写..timea - timeb 为相差的日期,小于24小时应该是0大于为相差的天数..没测试 select decode(substr((timea-timeb),0),0,1) from dual;--这需求case when 比较好... select case when (timea - timeb) > 1 then 1 else 0 end from dual;
参考:SELECT DECODE(ABS(SYSDATE - 固定的日期) >= 1, 1, 0) FROM dual;
decode 其实就是个if esle 结构
1楼的: select case when (timea - timeb) > 1 then 1 else 0 end from dual;
SELECT DECODE(ABS(SYSDATE - 固定的日期) >= 1, 1, 0) FROM dual;
select case when (timea - timeb) > 1 then 1 else 0 end from dual;
如果sysdate必然大于固定的日期 SELECT sign(SYSDATE - 固定的日期-1) FROM dual; 如果sysdate可能小于固定的日期 SELECT decode(sign(SYSDATE - 固定的日期-1),-1,0,sign(SYSDATE - 固定的日期-1)) FROM dual;
select decode(substr((timea-timeb),0),0,1) from dual;--这需求case when 比较好...
select case when (timea - timeb) > 1 then 1 else 0 end from dual;
select case when (timea - timeb) > 1 then 1 else 0 end from dual;
SELECT sign(SYSDATE - 固定的日期-1) FROM dual;
如果sysdate可能小于固定的日期
SELECT decode(sign(SYSDATE - 固定的日期-1),-1,0,sign(SYSDATE - 固定的日期-1)) FROM dual;