在Oracle的Greatest函数中处理Null [英] Handling Null in Greatest function in Oracle

查看:513
本文介绍了在Oracle的Greatest函数中处理Null的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想比较两列中的两个日期并得到最大值,然后与一个日期值进行比较.这两列也可以容纳NULL值,例如我想要下面的OUTPUT.还有什么.我再次使用输出与另一个日期进行比较.

I want to compare two dates from two columns and get the greatest and then compare against a date value.The two column can hold NULL values too.For example I want the below OUTPUT.How do I use the greatest function or if there is anything else.I am again using the output to compare against another date.

Col A         Col  B          OUTPUT
---------------------------------------
 NULL          NULL            NULL
 09/21/2013    01/02/2012      09/21/2013
 NULL          01/03/2013      01/03/2013 
 01/03/2013    NULL            01/03/2013 

推荐答案

使用Oracle CASE... WHEN结构进行选择:

Use Oracle CASE... WHEN structure in your select:

SELECT COLA, COLB, CASE
  WHEN (COLA > COLB OR COLB IS NULL)
    THEN COLA
  WHEN (COLA < COLB OR COLA IS NULL)
    THEN COLB
  WHEN (COLA = COLB)
    THEN COLA
  ELSE NULL
  END
  AS OUTPUT
FROM ...

这篇关于在Oracle的Greatest函数中处理Null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆