MySQL 使用 GREATEST 與 LEAST 取兩數最大/最小


#MySQL#GREATEST#LEAST

規則


  • 如果有任一參數是 NULL,結果為 NULL。
  • 如果所有參數都是整數,則以整數方式比較。
  • 如果至少有一個參數是 Double,則以 Double 比較;否則,如果至少有一個是 DECIMAL,則以 DECIMAL 比較。
  • 如果參數是數字與字串混合,則以字串方式比較。
  • 如果有任何參數是非二進位(nonbinary)字串,則以非二進位字串方式比較。
  • 其他情況,則以二進位字串方式比較。

Example


GREATEST(value1,value2,…)

mysql> SELECT GREATEST(2,0);
        -> 2
mysql> SELECT GREATEST(34.0,3.0,5.0,767.0);
        -> 767.0
mysql> SELECT GREATEST('B','A','C');
        -> 'C'

LEAST(value1,value2,…)

mysql> SELECT LEAST(2,0);
        -> 0
mysql> SELECT LEAST(34.0,3.0,5.0,767.0);
        -> 3.0
mysql> SELECT LEAST('B','A','C');
        -> 'A'

參考:
https://dev.mysql.com/doc/refman/8.4/en/comparison-operators.html#function_greatest
https://dev.mysql.com/doc/refman/8.4/en/comparison-operators.html#function_least