全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2160
推到 Plurk!
推到 Facebook!

避免發生除以零錯誤的SQL語法

答題得分者是:Fishman
tomcheng
一般會員


發表:8
回覆:7
積分:3
註冊:2003-09-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-28 10:22:43 IP:211.79.xxx.xxx 未訂閱
請問: select A as 開單數, B as 結案數, C as 作廢單數, B/(A-C) as 達成率 from TableM 若 B=0 且 (A-C)=0 時會發生除以零錯誤 我想要若B=0 且 (A-C)=0時,達成率就顯示0 請問這sql語法要如何寫,謝謝。
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-28 10:43:27 IP:210.65.xxx.xxx 未訂閱
Hi tomcheng,    SQL Server :
select  A as 開單數, 
        B as 結案數, 
        C as 作廢單數,
        case when (A-C)  = 0 then 0 
        else  B/(A-C) 
        end as 達成率
from    TableM
Oracle :
select  A as 開單數, 
        B as 結案數, 
        C as 作廢單數,
        decode((A-C),0,0,B/(A-C)) as 達成率
from    TableM
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
shinhrn
中階會員


發表:54
回覆:165
積分:83
註冊:2002-06-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-28 11:27:47 IP:218.170.xxx.xxx 未訂閱
select A as 開單數, B as 結案數, C as 作廢單數, iif(a-c=0,0,B/(A-C)) as 達成率 from TableM
tomcheng
一般會員


發表:8
回覆:7
積分:3
註冊:2003-09-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-28 13:52:00 IP:211.79.xxx.xxx 未訂閱
感謝兩位的解答, 分數只能給一位,只好給先回答的, shinhrn抱歉了.
系統時間:2024-05-13 22:37:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!