Select decode(sign(sysdate - to_date(20190301,’yyyy-mm-dd’)),-1,‘未到期’,1,’已过期’,0,’已到期’) from dual
ps:20190301为截止日期,默认相减到时分秒,这里日期后面时分秒都为0,即0点0分0秒
- sign(n)函数
n<0则返回-1,n>0则返回1,n=0则返回0
- decode用法
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(返回值1)
ELSIF 条件=值2 THEN
RETURN(返回值2)
......
ELSEIF 条件=值n THEN
RETURN(返回值n)
ELSE
RETURN(缺省值)
END IF
例如:
decode(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3