不能使用IF,可以用case when来做select id,name,created,
      case when len(id)>2  then (select max(created) as a)
       
         else 
         (select min(created) as b)
       end
from acc;

解决方案 »

  1.   

    select acc.id ,acc.name ,acc.created ,
        (case when length(acc.id)>2 then 
            (select max(a1.created) from acc a1
            )
         else 
            (select min(a1.created) from acc a1
            ) 
         end
         ) a    
    from acc
      

  2.   

    oracle中 case 不能这样用。
    select id,name,created,      
          DECODE(GREATEST(len(id),2),2,max(created),min(created)) A
    from acc;