Oracle 最大最小值

在取最大最小值的时候,首先要明确要取的值是同一列中的最大最小,还是同一行中的最大最小。

1、同一上取最大最小:MAX、MIN

2、同一上取最大最小:GREATEST、LEAST

同一列上取最大最小值的MAX和MIN已经熟悉,这里主要介绍

【同一行上取最大最小:GREATEST、LEAST】

注意:一下用到的【1,2,3,4】这种,把它当成是不同的列

最大:GREATEST

--对于纯数字
SELECT GREATEST(1,2,3,4) AS "比较结果" FROM dual;   -- 最大:4

--对于纯数字  与顺序无关
SELECT GREATEST(1,4,3,2) AS "比较结果" FROM dual;                -- 最大:4

--对于字符型
SELECT GREATEST('1','2','3','4') AS "比较结果" FROM dual;        -- 最大:4

--对于字符型  与顺序无关
SELECT GREATEST('1','4','3','2') AS "比较结果" FROM dual;        -- 最大:4

--对于字母型
SELECT GREATEST('a','b','c','d') AS "比较结果" FROM dual;        -- 最大:d

--对于字母型  与顺序无关
SELECT GREATEST('a','d','c','b') AS "比较结果" FROM dual;        -- 最大:d

--对于数字字母混合型
SELECT GREATEST('1a','2b','3c','4d') AS "比较结果" FROM dual;        -- 最大:4d

--对于数字字母混合型  与顺序无关
SELECT GREATEST('1a','4d','3c','2b') AS "比较结果" FROM dual;        -- 最大:4d

--对于数字字符混合型
SELECT GREATEST('1a','b2','3c','4d') AS "比较结果" FROM dual;        -- 最大:b2

--对于数字字符混合型  与顺序无关
SELECT GREATEST('1a','d4','3c','2b') AS "比较结果" FROM dual;        -- 最大:d4

最小:LEAST


--对于纯数字
SELECT LEAST(1,2,3,4) AS "比较结果" FROM dual;   -- 最小:1

--对于纯数字  与顺序无关
SELECT LEAST(4,1,3,2) AS "比较结果" FROM dual;                -- 最小:1

--对于字符型
SELECT LEAST('2','1','3','4') AS "比较结果" FROM dual;        -- 最小:1

--对于字符型  与顺序无关
SELECT LEAST('4','1','3','2') AS "比较结果" FROM dual;        -- 最小:1

--对于字母型
SELECT LEAST('b','a','c','d') AS "比较结果" FROM dual;        -- 最小:a

--对于字母型  与顺序无关
SELECT LEAST('d','a','c','b') AS "比较结果" FROM dual;        -- 最小:a

--对于数字字母混合型
SELECT LEAST('2b','1a','3c','4d') AS "比较结果" FROM dual;        -- 最小:1a

--对于数字字母混合型  与顺序无关
SELECT LEAST('4d','1a','3c','2b') AS "比较结果" FROM dual;        -- 最小:1a

--对于数字字符混合型
SELECT LEAST('b2','1a','3c','4d') AS "比较结果" FROM dual;        -- 最小:1a

--对于数字字符混合型  与顺序无关
SELECT LEAST('d4','1a','3c','2b') AS "比较结果" FROM dual;        -- 最小:1a

下面根据具体的表,看一下执行结果

SELECT
	num        -- 有值
	, pln_id   -- 有值
	, prd_id   -- null
	, rmng_qty -- 有值
FROM
	ACTL_LK
WHERE
	LK_ID = '0000000273';

检索结果: 

     

 情况1、需要判断的列里有null的情况,此时取到的最大值就是 null这列

     

  情况2、需要判断的列里都有值的情况,

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值