greatest 和 least函数


SELECT a.serv_id, a.cond_id, b.cond_name,a.valid_date,   
GREATEST(NVL(PRIN_END_DATE, to_date('1900-01-01', 'yyyy-mm-dd')),NVL(DONA_END_DATE, to_date('1900-01-01', 'yyyy-mm-dd')), 
 NVL(a.EXPIRE_DATE, to_date('1900-01-01', 'yyyy-mm-dd'))) expire_date   

FROM zg.i_user_deposit_transfer@j  a, zk.acc_book_scheme_cond@c  b  

WHERE  a.cond_id=b.cond_id AND a.sts NOT IN (2,6);

create index ind_serv_id4 on tmp_hsx_4(serv_id);


利用这个函数可以取出在三个时间中失效时间最长的那个。


update Ta set rmb=(

select least ((select a.rmb from subA a,Ta where a.id=Ta.id),(select b.rmb from subB b,Ta where b.id=Ta.id)) from dual

);

取这两个子查询中 rmb 较小的一个

你可能感兴趣的:(greatest 和 least函数)