oracle中有两个时间字段,我要取出较大的那个时间字段

在oracle中有两个时间字段addtime,p_time,addtime是不可能为空的,而p_time有可能为空,我现在要取出这两个字段中较大的一个字段,如果p_time为空的话,就取出addtime,否则取出这两个字段中时间叫大的那个字段,我现在的解决方法有两种1、greatest(addtime,p_time)2、decode(sign(addtime-p_time),1,addtime,p_time)这两种方法都能实现取出较大的那个字段,但也存在一个问题,就是当p_time为空的时候取出的是p_time字段的值,即null,而这个时候我要取的是addtime的值,请问一下怎么实现,谢谢!

第1个回答  2013-05-30
case when then else end