decode(floor(a/b),0,a,b)
简单的,如果a<b那么floor(a/b)=0
用decode判断,如果=0则返回a,否则,返回b
呵呵。

解决方案 »

  1.   

    如果列A得值等于列B,返回A,否则返回B,可以使用DECODE函数
    SELECT DECODE(A,B,A,B)
    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
    但是大于或小于时该函数不可以,可以自己写一个函数来实现select case 
               when name1 > name2 then name1
               else name2 
           end as name 
    from tb
      

  2.   

    case...when 不能用在ORACLE中吧。