可以用NULLIF跟ISNULL函式來避免
首先如果輸入SELECT 1 + 2 + 3 / 0會發生除以零的錯誤
NULLIF用法:
可以改寫成SELECT 1 + 2 + ISNULL(3/NULLIF(0, 0), 0)
運用NULLIF方法 NULLIF(a, b)代表如果a=b, 那值就是null,否則值是a
ISNULL用法:
再使用ISNULL方法 ISNULL(a, b)如果a是null,值就是b,不然值=a
所以最後將算式從SELECT 1 + 2 + 3 / 0變成SELECT 1 + 2 + ISNULL(3/NULLIF(0, 0), 0)就是先在除數的地方用NULLIF判斷是否為0,如果除數為0就讓值等於NULL外面再用ISNULL包起來,如果值等於NULL就換成預設的值因為SQL可以除以NULL而不能除以0所以可用此方法避免
探索更多來自 宸宸知識庫 的內容
訂閱後即可透過電子郵件收到最新文章。