将select出来的字段进行求和运算——nullif、isnull、nvl函数的使用

在拼sql语句的时候要做一个,将select出来的字段进行求和运算的查询,在网上搜了搜,得到点儿启发,这里写一下。先介绍一下用到的函数吧:

1、    nullif (ORACLE 和 SQL Server的用法相同):

用法:

NULLIFexpression1 , expression2

说明:

如果两个表达式不相等,NULLIF 返回第一个expression1的值。

如果两个表达式相等,NULLIF 返回空值——NULL。  

 

2、    isunll(只适用于SQL Server,ORACLE中没有该函数)

用法:

ISNULL ( check_expression,replacement_value )

说明:

check_expression:将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。

replacement_value:当check_expression为 NULL时将返回的表达式

注:replacement_value必须与 check_expresssion 具有相同的类型。

 

3、    nvl(只适用于ORACLE,SQL Server中没有该函数)

用法:

NVL(check_expression,replacement_value)

说明:

如果check_expression为NULL,则NVL函数返回replacement_value的值,否则返回check_expression的值,如果两个参数都为NULL ,则返回NULL。

注意事项:check_expression和replacement_value必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。

 

Example

student表中的grade1_grade2_两个字段的值进行求和:

SQL Server语句:

select isnull(isnull(s.grade1_,0)+isnull(r. grade2_,0),0)fromstudent s

ORACLE语句:

select nvl(nvl(s.grade1_,0)+nvl(r. grade2_,0),0)from student s

 

参考网址:http://blog.sina.com.cn/s/blog_622c401d0100tz29.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值