背景
今天在做一個(gè)需求姐仅,大致就是根據(jù)卡的logo去匹配花枫,卡片的主卡數(shù)量刻盐、附屬卡數(shù)量、激活卡數(shù)量劳翰、未激活卡數(shù)量敦锌、銷卡數(shù)量等。當(dāng)時(shí)以為要寫很多sql佳簸,后來問了下同事說可以用case when寫一條sql就能搞定乙墙,當(dāng)時(shí)那個(gè)開心啊就是這樣的O(∩_∩)O哈哈~!所以今晚抽空好好補(bǔ)下case when的用法生均。
1听想、case when使用方法
Case具有兩種格式。簡單Case函數(shù)和Case搜索函數(shù)马胧。
第一種格式簡單case函數(shù):
case 列名
when 條件值1 then 選項(xiàng)1
when 條件值2 then 選項(xiàng)2.......
else 默認(rèn)值 end
第二種格式Case搜索函數(shù):
case
when 列名= 條件值1 then 選項(xiàng)1
when 列名=條件值2 then 選項(xiàng)2.......
else 默認(rèn)值 end
比較: 兩種格式哗魂,可以實(shí)現(xiàn)相同的功能。
簡單Case函數(shù)的寫法相對比較簡潔漓雅,但是和Case搜索函數(shù)相比录别,功能方面會有些限制,比如寫判斷式邻吞。還有一個(gè)需要注意的問題组题,Case函數(shù)只返回第一個(gè)符合條件的 值,剩下的Case部分將會被自動忽略抱冷。
由于今天電腦中數(shù)據(jù)庫掛了崔列,先不寫例子。等在裝好數(shù)據(jù)庫補(bǔ)上旺遮。