case when的主要作用就是判斷取的字段值是否等於某個值,如果等於就等於乙個值,否則等於另外的值
case 有倆種寫法:分別是簡單case函式和搜尋case函式
初始表內容:
±--------±----------+
| de1.id | de1.name |
±--------±----------+
| 1 | wq |
| 2 | ww |
| 3 | dsd |
| null | null |
±--------±----------+
select
case id
when '1' then 'haha'
when '2' then 'hehe'
else 'lala' end
from
de1
結果如下:
| ±------+
| _c0 |
±------+
| haha |
| hehe |
| lala |
| lala |
±------+
這種簡單case函式是不能寫判斷語句的,比較簡單,不適合複雜的問題
select
case when id = 1 then '你好'end ss,
case when id = 2 then '不好'end zz
from
de1
結果如下
±-----+
| _c0 |
±-----+
| 你好 |
| 不好 |
| 愉悅 |
| 愉悅 |
±-----+
新增條件判斷
select
case when id > '1' and id < '3' then '你好'
when id = '3' then '不好'
else '好不好'end zz
from
de1
結果如下
±-----+
| zz |
±-----+
| 好不好 |
| 你好 |
| 不好 |
| 好不好 |
±-----+
由此可見搜尋case功能要更強大一些
select
case when id = 1 then '你好'end ss,
case when id = 2 then '不好'end zz
from
de1
結果如下:
±------±------+
| ss | zz |
±------±------+
| 你好 | null |
| null | 不好 |
| null | null |
| null | null |
±------±------+
多個casewhen一起使用可以將行轉為列,在使用行專列的時候要注意每個case後邊都要跟著乙個end來作為結束,否則將會報。
以上就是case when 的一些簡單應用。
decode與case when的區別
求和 sum decode sign xingji 6 h.real count,1,h.real count,0 decode相較於case when,函式裡面不能使用and連線多個條件,只能使用函式巢狀 例如 sum decode sign xingji 6 1,decode hh.quxian...
oracle url的幾種寫法
jdbc oracle thin example jdbc oracle thin 注意這裡的格式,後面有 這是與使用sid的主要區別。這種格式是oracle 推薦的格式,因為對於集群來說,每個節點的sid 是不一樣的,但是service name 確可以包含所有節點。jdbc oracle thi...
網頁的幾種寫法
第一種是小白式的寫法,就是先寫html再寫css,一對一的寫法,這種寫法效率比較低下,同樣的 要寫n遍 另外我加一句,img為什麼放多張 的時候會有邊距!這裡的解決辦法是這樣的,可以將img空格刪除掉,如果你用margin left解決掉的時候,到時候再上傳到伺服器中就會發生錯誤,因為上傳到伺服器的...