公司的網站在運行的時候突然報錯打不開了,打開一看發現報了一個錯:ORA-01476:除數為0。
網上一搜發現還是挺多人遇到這個問題的,解決辦法就是用decode函數。
decode是oracle內置的一個函數。
含義解釋:
decode(條件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
該函數的含義如下:
IF 條件=值1 THEN
RETURN(翻譯值1)
ELSIF 條件=值2 THEN
RETURN(翻譯值2)
......
ELSIF 條件=值n THEN
RETURN(翻譯值n)
ELSE
RETURN(缺省值)
END IF
簡單來說,decode(exp1,0,0,exp2/exp1),就是當exp1等於0的時候,exp2/exp1不再報錯,而是返回0.當exp1不等於0,則返回exp2/exp1的結果。