1. 程式人生 > >Mysql條件判斷函式使用-選擇兩列中較大一列資料

Mysql條件判斷函式使用-選擇兩列中較大一列資料

今天看到了一道題,簡單講就是核心問題,表t中有兩列a,b,使用sql實現:當a>b時,選擇a列,否則選擇b列。

之前工作中也遇到類似問題,需要使用Mysql條件判斷函式IF或者CASE。

  • IF函式的語法是 :IF(expr,v1,v2),如果表示式expr是true(expr<>0 and expr <> NULL),則函式返回v1,反之返回v2。

  所以這道題可以這麼寫:

select IF(a>b, a , b) from t;

 

  • CASE函式:CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rm] END, 如果expr值等於某個vn,則返回對應位置THEN後面的結果。如果與所有值都不想等,則返回ELSE後面的rn

  這道題也可以這麼寫:

select CASE WHEN a>b THEN a ELSE b from t;