回答

收藏

在Oracle的Greatest函数中处理Null

技术问答 技术问答 345 人阅读 | 0 人回复 | 2023-09-14

我想比较两列中的两个日期并得到最大值,然后再与日期值进行比较。这两列也可以容纳NULL值,例如我想要下面的OUTPUT。如何使用最大的函数或是否有任何东西else。我再次使用输出与另一个日期进行比较。
- o" ?, C5 q/ _5 P/ SCol A         Col  B          OUTPUT9 X/ d9 U( W0 q5 i
---------------------------------------" o# {" X& @% P. T, }, p' Q; i- e% d
NULL          NULL            NULL
% V6 f/ q2 G$ ]# f 09/21/2013    01/02/2012      09/21/2013
: @: R* p2 D9 J8 ]8 ]' s" f% O NULL          01/03/2013      01/03/2013 # w& B0 r0 t( w" C
01/03/2013    NULL            01/03/2013
6 V* K) L( W- H( d7 G! `) h/ n               
: J; {: ~# T$ t0 `; _1 V3 L* h解决方案:
. X# d, r, h- _               
+ g* B" r  c/ i7 Z5 }
" G* P' c& `7 Y2 w1 h8 Q
9 }4 [6 {- w- z0 g3 p) m5 \                在您的选择中使用OracleCASE...
( S! D( e0 [: p" i* p8 F8 VWHEN结构:" O7 I- ^( I' w% f. J( f
SELECT COLA, COLB, CASE3 U1 C9 K: V% C$ @4 C$ s" C
  WHEN (COLA >= COLB OR COLB IS NULL)5 h- `0 j) c, T6 g
    THEN COLA5 g% }9 T! P: L$ G. e
  ELSE COLB
1 P; F6 _4 X4 |  g7 n' B% r/ C  END1 t: _/ z) D7 i0 D  c: v
  AS OUTPUT4 ~+ r3 H( h6 |$ K
FROM ...
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则