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