資料庫case 和 decode 區別

2021-08-15 02:59:50 字數 608 閱讀 6782

/7.在員工表中查詢出員工的工資,並計算應交稅款:如果工

資小於1000,稅率為0,如果工資大於等於1000並小於2000,

稅率為10%,如果工資大於等於2000並小於3000,稅率為

15%,如果工資大於等於3000,稅率為20%。/

select sal ,

(case

when sal<1000 then 0

when sal<2000 then sal* 0.1

when sal<3000 then sal0.15

else sal0.2 end

) pay

from emp;

decode的語法:decode(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value 等於if1時,decode函式的結果返回then1,...,如果不等於任何乙個if值,則返回else。初看一下, decode 只能做等於測試 ,但剛才也看到了,我們通過一些函式或計算替代value,是可以使decode函式具備大於、小於或等於功能。

case表示式和decode函式

1.用case表示式做等值判斷 格式 case 表示式 when 值1 then 返回值1 when 值2 then 返回值2 else 預設返回值 end 示例 查詢員工編號,姓名,部門編號,部門名稱 部門名稱 30 sale 20 etc 10 jxb 其他 icss select empno ...

利用Decode和Sign代替Case進行條件判斷

在oracle的sql條件判斷中,多數情況下,因其靈活方便且可讀性強,會使用case when進行。但decode函式使用起來簡潔直觀,且可在同一行進行判斷,故在多數sql條件判斷中,我一直力求使用decode。本文基於專案實戰,簡單談談利用decode和sign代替case進行條件判斷。先談談專案...

oracle 資料庫中的decode 和nvl函式

select decode wp01.ondo kbn,0,対象外 1,常溫 2,保冷 as ondo kbn from wp01 s haitotal wp01 分析 當wp01.ondo kbn 0時,將 対象外 賦值 當wp01.ondo kbn 1時,將 常溫 賦值 當wp01.ondo k...