在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 ... |
|
|
|
|
|