1. 程式人生 > >【mysql】使用 if() 函式快速交換資料

【mysql】使用 if() 函式快速交換資料

條件:給定一張表 user,有欄位 id,name,vip, 要求使用一條SQL把 vip=y 的使用者改為 vip=n,反之亦然。

update user set user = if(vip='y','n','y')

SQL的邏輯說明: 設定user 等於 if返回的結果 ,if函式內第一個欄位是條件,第二個欄位是滿足條件返回的值,第三個欄位是不滿足條件返回的值。

 

原SQL

id  name  vip
1    A     y
2    B     n
3    C     n
4    D     y

執行之後 

id  name  vip
1    A     n
2    B     y
3    C     y
4    D     n

if() 函式強大的功能同樣適用於查詢,如:

select  id,name,if(vip='y','會員','不是會員') as vips from user where vip='y' or sex='n';

id  name  vips
1    A   不是會員
2    B     會員
3    C   不是會員
4    D     會員