case when的幾種寫法區別

2021-09-29 17:56:56 字數 1643 閱讀 2865

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解決掉的時候,到時候再上傳到伺服器中就會發生錯誤,因為上傳到伺服器的...