SQL中IF和CASE語句


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM