萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> sqlserver中case when用法小結

sqlserver中case when用法小結

   首先建表和插入數據語句:

  use Student

  go

  create table Score

  (

  學號 nvarchar(10),

  課程 nvarchar(10),

  成績 int

  )

  go

  insert into Score values('0001','語文',87);

  insert into Score values('0001','數學',79);

  insert into Score values('0001','英語',95);

  insert into Score values('0002','語文',69);

  insert into Score values('0002','數學',84);

  insert into Score values('0001','語文',95);

  case when 用法一:

  CASE 簡單表達式,它通過將表達式與一組簡單的表達式進行比較來確定結果。

  select 學號,

  sum(case when 課程='語文' then 成績 else 0 end ) as 語文,

  sum(case when 課程='數學' then 成績 else 0 end ) as 數學,

  sum(case when 課程='英語' then 成績 else 0 end ) as 英語

  from Score

  group by 學號

  case when 用法二:

  CASE 搜索表達式,它通過計算一組布爾表達式來確定結果。

  select 學號,成績,

  case 成績

  when 87 then '良'

  when 79 then '良'

  when 95 then '優'

  when 69 then '中'

  else '差' end as test

  from Score

  上面為本人對case when的理解,如有錯誤希望批評指出,多謝!

  注:每個case 對應一列數據

copyright © 萬盛學電腦網 all rights reserved