GREATEST
和LEAST
函数都使用N
个参数,并分别返回最大和最小值。下面说明GREATEST
和LEAST
函数的语法:
GREATEST(value1, value2, ...);
LEAST(value1,value2,...);
SQL
参数可能具有混合数据类型。以下比较规则适用于这两个函数:
- 如果任何参数为NULL,则两个函数都将立即返回
NULL
,而不进行任何比较。 - 如果在INT或
REAL
上下文中使用函数,或者所有参数都是整数值或REAL
值,那么它们将分别作为INT
和REAL
来比较。 - 如果参数由数字和字符串组成,则函数将它们作为数字进行比较。
- 如果至少一个参数是非二进制(字符)字符串,则函数将将参数作为非二进制字符串进行比较。
- 在所有其他情况下,函数将参数作为二进制字符串进行比较
以下示例演示了GREATEST
和LEAST
函数的工作原理。
SELECT GREATEST(10, 20, 30), -- 30
LEAST(10, 20, 30); -- 10
SELECT GREATEST(10, null, 30), -- null
LEAST(10, null , 30); -- null