IF表達式
IF(A,B,C):
如果 A 是TRUE (A <> 0 and A<> NULL),則 IF()的返回值為B; 否則返回值則為 C。IF() 的返回值為數字值或字符串值,具體情況視其所在語境而定。
SELECT IF(sex=1,"男","女") AS s FROM classmates
WHERE sex != '';
CASE WHEN THEN
case具有兩種格式。簡單case函數和case搜索函數。
--簡單case函數 case sex when '1' then '男' when '2' then '女’ else '其他' end --case搜索函數 case when sex = '1' then '男' when sex = '2' then '女' else '其他' end
有一張表,里面有3個字段:語文,數學,英語。其中有3條記錄分別表示語文70分,數學80分,英語58分,請用一條sql語句查詢出這三條記錄並按以下條件顯示出來(並寫出您的思路):
顯示格式:
語文 數學 英語
及格 優秀 不及格
------------------------------------------
select
(case when 語文>=80 then '優秀'
when 語文>=60 then '及格'
else '不及格') as 語文,
(case when 數學>=80 then '優秀'
when 數學>=60 then '及格'
else '不及格') as 數學,
(case when 英語>=80 then '優秀'
when 英語>=60 then '及格'
else '不及格') as 英語,
from table