关闭

oracle decode函数,取两个日期中的较大值

1477人阅读 评论(0) 收藏 举报
分类:
decode(条件, 值1, 翻译值1, 值2, 翻译值2, ...值n, 翻译值n, 缺省值)
【功能】根据条件返回相应值【参数】c1, c2, ..., cn, 字符型 / 数值型 / 日期型,必须类型相同或null
注:值1……n 不能为条件表达式, 这种情况只能用case when then end解决·
含义解释:decode(条件, 值1, 翻译值1, 值2, 翻译值2, ...值n, 翻译值n, 缺省值)    
该函数的含义如下:    
IF 条件 = 值1 THEN  RETURN(翻译值1)  
ELSIF 条件 = 值2 THEN  RETURN(翻译值2)  ......  
ELSIF 条件 = 值n THEN  RETURN(翻译值n)    ELSE  RETURN(缺省值)  END IF  
或:  
when case 条件 = 值1 THEN  RETURN(翻译值1)  
ElseCase 条件 = 值2 THEN  RETURN(翻译值2)  ......  
ElseCase 条件 = 值n THEN  RETURN(翻译值n)    

ELSE  RETURN(缺省值)  END

sign(x)【功能】返回x的正负值【参数】x,数字型表达式【返回】数字,若为正值返回1,负值返回-1,0返回0

取两个日期中的较大值:

SELECT Decode(Sign(tb.KCCZRQ-SYSDATE),-1,SYSDATE,tb.KCCZRQ)  AS XFTS FROM tb


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:31068次
    • 积分:1346
    • 等级:
    • 排名:千里之外
    • 原创:106篇
    • 转载:3篇
    • 译文:3篇
    • 评论:1条
    文章分类
    最新评论