Oracle GREATEST() 函数使用指南

Oracle GREATEST() 是一个内置函数,它返回给定的参数列表中的最大值。

如果您要获取参数列表中的最小值,请使用 LEAST()

Oracle GREATEST() 语法

这里是 Oracle GREATEST() 函数的语法:

GREATEST(expr [, expr ]...)

参数

expr [, expr ]...

必需的。用于比较的参数列表。所有的参数都参与比较。参数可以是任意的数据类型,或者表达式。您应该至少提供一个参数。

返回值

Oracle GREATEST() 函数返回给定的参数列表中的最大值。

Oracle 数据库使用第一个 expr 来确定返回类型。如果第一个 expr 是数字,那么 Oracle 确定具有最高数字优先级的参数,在比较之前将其余参数隐式转换为该数据类型,并返回该数据类型。如果第一个 expr 不是数字,则在比较前,第一个 expr 之后的每个 expr 都隐式转换为第一个 expr 的数据类型。

如果任意一个参数为 NULLGREATEST() 将返回 NULL

Oracle GREATEST() 示例

这里有几个展示了 Oracle GREATEST() 函数用法的示例。

数字

要获取一个数字列表中的最大值,请使用以下语句:

SELECT
    GREATEST(1, 4, 2, 5, 3)
FROM dual;

输出:

   GREATEST(1,4,2,5,3)
______________________
                     5

字符串

MariaDB GREATEST() 函数支持字符串作为参数,它返回其中最大的字符串。

SELECT
    GREATEST('abc', 'hello', 'good')
FROM dual;

输出:

GREATEST('ABC','HELLO','GOOD')
_________________________________
hello

日期

MariaDB GREATEST() 函数允许您获取一组日期中的最大值。

SELECT
    GREATEST(DATE '2023-01-31', DATE '2023-01-01') Result
FROM dual;

输出:

RESULT
___________
31-JAN-23

NULL 参数

如果任意一个参数为 NULLGREATEST() 将返回 NULL

SET NULL 'NULL';
SELECT
    GREATEST(NULL, NULL) Result1,
    GREATEST('ab', NULL) Result2,
    GREATEST(NULL, 'ab') Result3
FROM dual;

输出:

RESULT1    RESULT2    RESULT3
__________ __________ __________
NULL       NULL       NULL

在本示例中,我们使用 SET NULL 'NULL'; 语句将 NULL 值显示为 'NULL' 字符串。

结论

Oracle GREATEST() 是一个内置函数,它返回给定的参数列表中的最大值。