一、GREATEST(value1, value2, ...)
- 功能:返回参与比较参数中最大的(最大值)一个
- 参数:两个或多个,可为数字、字符串等(可混合)
- 比较规则:
- 如果有任意参数为
NULL,结果为NULL - 全为整数,按整数比
- 存在 double,按 double 比
- 存在 DECIMAL,按 DECIMAL 比
- 存在字符串,按字符串比(非二进制字符串比),否则二进制比
- 如果有任意参数为
- 返回值的类型:综合比较参数类型
- 主要用途:找出多列/多值中最大者
示例:
SELECT GREATEST(2, 0); -- 结果: 2
SELECT GREATEST(34.0, 3.0, 5.0, 767.0); -- 结果: 767.0
SELECT GREATEST('B','A','C'); -- 结果: 'C'
SELECT GREATEST(1,NULL,3); -- 结果: NULL
二、LEAST(value1, value2, ...)
- 功能:返回参与比较参数中最小的(最小值)一个
- 参数:两个或多个,可为数字、字符串等
- 比较规则与 GREATEST 基本相同:
- 任一参数为 NULL,结果为 NULL
- 全为整数,按整数比
- 存在 double,按 double 比
- 存在 DECIMAL,按 DECIMAL 比
- 存在字符串,按字符串比(非二进制字符串比),否则二进制比
- 返回值的类型:综合比较参数类型
- 主要用途:找出多列/多值中最小者
- 示例:
SELECT LEAST(2, 0); -- 结果: 0
SELECT LEAST(34.0, 3.0, 5.0, 767.0); -- 结果: 3.0
SELECT LEAST('B','A','C'); -- 结果: 'A'
SELECT LEAST(1,NULL,3); -- 结果: NULL
浙公网安备 33010602011771号