|
|
Posted on
2009-05-19 11:25
杨彬Allen
阅读( 828)
评论()
收藏
举报
 Code
-- =============================================================================
-- 標題: Nvl、Nvl2、NullIF、Sign、Decode的用法和区别
-- 原創: takako_mu
-- 时间: 2009-05-19
-- 地点: 昆山
-- =============================================================================
Nvl:

Nvl(expr1,expr2):如果expr1是null,则返回expr2,否则返回expr1.

Nvl2:

Nvl2(expr1,expr2,expr3):如果expr1是null,则返回expr2,否则返回expr3.

NullIF:

NullIF(expr1,expr2):如果expr1等于expr2,返回null,如果不等于返回expr2.

Sign:

select sign(ToF) from tableA

如果ToF是个正数则返回1,负数则返回-1,0则返回0

Decode:

select decode(A.DetailID, 0, 0,
1,B.Detail1_Score,
2,B.Detail2_Score,
3.B.Detail3_Score,……) from A inner join B on ……
 /**//*Sample:如果A表中的DetailID是0时则返回0,如果为1则返回B表Detail1_Score栏位
对应的值……
通常Decode用于解决:从B表中查询资料,可字段却在A表.
*/
|