下邊是我自己寫的,但是執(zhí)行起來報錯,請前輩們解答,感謝~
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、瑞金ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的瑞金網(wǎng)站制作公司
update salary201911 set 個稅 =
(
case when 計稅金額 =36000 then 計稅金額*3%-年度個稅累計? when? 36000計稅金額 =144000 then 計稅金額*10% - 2520 - 年度個稅累計
when 144000計稅金額 =300000 then 計稅金額*20% - 16920 - 年度個稅累計
when 300000計稅金額 =420000 then 計稅金額*25% - 31920 - 年度個稅累計
when 420000計稅金額 =660000 then 計稅金額*30% - 52920 - 年度個稅累計
when 660000計稅金額 =960000 then 計稅金額*35% - 85920 - 年度個稅累計
else 計稅金額*45% - 181920 - 年度個稅累計
end
);
oracle的if語句采用decode函數(shù)。
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value 等于if1時,DECODE函數(shù)的結(jié)果返回then1,...,如果不等于任何一個if值,則返回else
示例:
比如,有個if語句如下
if(a==1){//如果a等于1,返回2,否則返回3
return?2;
}else{
return?3;
}
翻譯成DECODE如下
DECODE(a,1,2,3)
Create Or Replace View mark_v
As
Select Id,Case score When '優(yōu)' Then '90' When '中' Then '75' When '差' Then '30' Else score End As score
From mark
或者還有個簡單的寫法:
Create Or Replace View mark_v
As
Select Id,decode(score,'優(yōu)','90','中','75','差','30',score) As score
From mark
以上希望對你有所幫助
如果是 SQL 語句里面使用。
使用 DECODE 或者 CASE WHEN
DECODE 的用法就是
DECODE(abc, 50, 'A', 'B')
CASE WHEN 的用法就是
CASE WHEN abc=50 THEN 'A' ELSE 'B' END
如果是在存儲過程里面的話,就是簡單的 IF/ELSE 了
SQL 語句的話,就是
SELECT
abc, DECODE(abc, 50, 'A', 'B')
FROM
表
pl/sql的代碼一般都是寫在過程,函數(shù)和觸發(fā)器中,你寫的話要注意,單寫一段也沒有什么問題
pl/sql的select語句要有東西接住查詢出來的值。這是與sql不同的地方:
DECLARE
v_tmp VARCHAR2(100);
BEGIN
IF 1=1 THEN
SELECT 1 INTO v_tmp FROM DUAL;
dbms_output.put_line(v_tmp);
END IF;
END;
當(dāng)前名稱:oracle中if怎么用,Oracle if用法
瀏覽路徑:http://vcdvsql.cn/article34/hsdcpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、品牌網(wǎng)站制作、網(wǎng)站設(shè)計公司、靜態(tài)網(wǎng)站、動態(tài)網(wǎng)站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)