1. 程式人生 > >Oracle中取某幾個數的最大值最小值

Oracle中取某幾個數的最大值最小值

Oracle中取某幾個數的最大值最小值

一直有誤區認為Oracle或者說關係型資料庫中沒有取某些資料中最大值最小值的函式,其實是存在的 分別為:
greatest( expr1, expr2, ... expr_n )
least( expr1, expr2, ... expr_n )

如圖:
在這裡插入圖片描述
上述兩個函式都使用 N 個引數,並分別返回最大值和最小值。 另需注意引數可能具有混合資料型別。
具體規則如下:

  1. 如果任何引數為null,則兩個函式都將立即返回 null ,而不進行任何比較。
  2. 如果為int或real 上下文中使用函式,或者所有引數都是整數值或real值,那麼他們將分別為int和real來比較。
  3. 如果引數由數字和字串組成,則函式將它們作成數字進行比較。
  4. 如果至少一個引數是非二進位制(字元)字串,則函式將將引數作為非二進位制字串進行比較。
  5. 在所有其他情況下,函式將引數作為二進位制字串進行比較