SQL語句中 CASE 的用法

2021-04-13 07:23:34 字數 736 閱讀 9935

在寫sql語句時,或者是在pl/sql中,經常需要在乙個sql語句中,根據不同的條件,有多種處理方法,如簡單例子:**一種商品時,單價不同,折扣不同,對這種需求的處理,如果分情況處理,將會很麻煩,如果用case語句,就可以在一條sql語句中得到想要的結果。

首先看一下,case的語法:

case when 條件a then 結果a  when 條件b 結果b  ........ else 結果n  end

和decode 不同的是,decode 只能針對固定的值,而 case 可以用不是固定值,需是乙個條件。

現在有以下的需求,有乙個字串,最後的兩位可能是    '/r' ,'/t' 另外,有的後兩位沒有前面的'/r' ,'/t' ,現在針對不同的需要,要將  '/r' ,'/t'  取掉,沒有 '/r' ,'/t', 就不做處理。

具體字串如下:  a01jcl-a01jcl/gf117f0001tr/r

sql寫法可以如下:

select (case

when instr(code, '/r') > 0 then

substr(code, 1, instr(code, '/r') - 1)

when instr(code, '/t') > 0 then

substr(code, 1, instr(code, '/t') - 1)

else

'0'end)

from table_a t ;

使用case時,要用括號括起來。

幾個sql語句中的case使用

表結構 field type null key default extra id int 11 no pri name varchar 20 yes null char 1 yes null addr varchar 50 yes null 1.select id,name case when m ...

sql語句中as的用法

as 一般用在兩個地方,乙個是query的時候,用來重新指定返回的column 名字 如 乙個table 有個column叫 id,我們的query是 select id from table1.但是如果你不想叫id了,就可以重新命名,如叫 systemid 就可以這樣寫 select id as ...

SQL中Case語句用法

sql中,case具有兩種格式。即簡單case函式和case搜尋函式。下文中筆者與大家一起討論sql中case語句用法。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 t...