oracle怎么实现三个数比较,取最大值

oracle如何实现三个数比较,取最大值有这样一张表M ,里面有三个字段分别为 a b c,这三个字段有可能其中一个

oracle如何实现三个数比较,取最大值
有这样一张表M ,里面有三个字段分别为 a b c,这三个字段有可能其中一个为空值,或者其中两个为空值,再或者全部都为空值 三种情况;该采用什么方法来判断三个值取最大的那一个?
说明:这三个字段都是char类型的;

[解决办法]
SELECT deminid,ammountid,ammountvalue FROM test1

DEMINIDAMMOUNTIDAMMOUNTVALUE
1112
2134
3156


SELECT deminid,ammountid,ammountvalue,
(CASE WHEN (CASE WHEN deminid-ammountid >0 THEN deminid ELSE ammountid END) - ammountvalue >0 THEN CASE WHEN deminid-ammountid >0 THEN deminid ELSE ammountid END
ELSE ammountvalue END)MAXVALUES
FROM test1
DEMINIDAMMOUNTIDAMMOUNTVALUEMAXVALUES
11122
21344
31566