1.nvl( ) 函數
語法
NVL(eExpression1, eExpression2)
參數eExpression1, eExpression2
如果 eExpression1 的計算結果為 null 值,則 NVL( ) 返回 eExpression2。如果 eExpression1 的計算結果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數據類型。如果 eExpression1 與 eExpression2 的結果皆為 null 值,則 NVL( ) 返回 .NULL.。
2.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
??? 使用方法:?
??? 1、比較大小
select
decode(sign(變量1-變量2),-1,變量1,變量2) from dual; --取較小值
sign()函數根據某個值是0、正數還是負數,分別返回0、1、-1
??? 例如:
變量1=10,變量2=20
則sign(變量1-變量2)返回-1,
decode解碼結果為“變量1”,達到了取較小值的目的。
posted on 2007-03-26 13:26
飛翔的心 閱讀(563)
評論(0) 編輯 收藏 所屬分類:
SQL