【发布时间】:2015-10-28 02:55:01
【问题描述】:
我有一个number 类型的列。它有正值和负值。我需要得到 4 个值:正最大值、正最小值、负最大值、负最小值:
a)要获得正最大值:我可以使用Check out the Fiddle
select max(cola) from test;
b)要获得负最小值:我可以使用Check out the Fiddle
select min(cola) from test;
我有两个问题:
1) 现在我不确定如何获得其他两个值。指导我得到那个
2)与此同时,我在尝试这个时又遇到了另一个疑问。当我有一些varchar2 类型的列并且它有数字作为值时。我正在本专栏中执行上述操作。正最大值与上述相同。但是负最小值很奇怪。 Check Fiddle Here 。为什么这里没有进行适当的隐式转换。有人请解释一下这背后的原因吗?
【问题讨论】:
-
对于问题 1,使用 CASE 表达式。对于问题2,使用TO_NUMBER先将字符串转换为数字,然后其余相同。
标签: sql oracle oracle11g max min