tb_user:
1、if (expr1,expr2,expr3) #如果expr1成立,則返回expr2,否則返回expr3
示例:
select name, if (sex=1,'男','女') sex from tb_user #如果sex是1,sex查詢結果返回‘男’,否則返回‘女’
2、ifnull(expr1,expr2) #如果expr1不為null,則返回expr1,否則返回expr2
示例:
select name 姓名, ifnull(sex, '其他') sex from tb_user #如果sex是null,則返回‘其他;sex不是null,則正常返回
3、case column_name when expr1 then result1 else result2 end
#如果column_name是1,sex查詢結果返回‘男’,否則返回‘女’
示例:
select name 名字, case sex when 1 then '男' else '女' end 性別 from tb_user
#如果sex是1,sex查詢結果返回‘男’,否則返回‘女’
4、case column_name when expr1 then result1 when expr2 then result2 end
#如果column_name是expr1返回result1,如果column_name是expr2返回result2,when * then *可以寫多個,end 表示結束
示例1:
select name 名字, case sex when 1 then '男' when 2 then '女' end 性別 from tb_user
#如果sex是1,sex查詢結果返回‘男’;sex是2,sex查詢結果返回‘女’
示例2(多條件):
select name 名字, case sex when 1 then '男' when 2 then '女' end 性別, case when age<=16 then '未成年' when age>16 and age<=30 then '青年' when age>30 and age<=50 then '壯年' else '老年' end 年齡 from tb_user
#年齡小於等於16顯示為‘未成年’;年齡大於16且小於等於30顯示為‘青年’;
#年齡大於30且小於等於50顯示為‘壯年’;年齡大於50顯示為‘老年’;