1.nvl( ) 函數(shù)
語法
NVL(eExpression1, eExpression2)
參數(shù)eExpression1, eExpression2
如果 eExpression1 的計算結(jié)果為 null 值,則 NVL( ) 返回 eExpression2。如果 eExpression1 的計算結(jié)果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數(shù)據(jù)類型。如果 eExpression1 與 eExpression2 的結(jié)果皆為 null 值,則 NVL( ) 返回 .NULL.。
2.decode(條件,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,缺省值)??? 該函數(shù)的含義如下:
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()函數(shù)根據(jù)某個值是0、正數(shù)還是負數(shù),分別返回0、1、-1
??? 例如:
變量1=10,變量2=20
則sign(變量1-變量2)返回-1,
decode解碼結(jié)果為“變量1”,達到了取較小值的目的。
posted on 2007-03-26 13:26
飛翔的心 閱讀(568)
評論(0) 編輯 收藏 所屬分類:
SQL