SQL SERVER 2005 coalesce 的使用

本文通过一个具体的SQL示例介绍了COALESCE函数的作用及其用法,该函数用于返回第一个非空表达式,适用于数据库操作,特别是处理NULL值的情况。

 

转载:http://blog.csdn.net/ChaoYang0502/archive/2008/08/28/2845105.aspx

 

COALESCE
返回其参数中第一个非空表达式。 语法
COALESCE ( expression [ ,...n ] ) 参数
expression 任何类型的表达式。 n 表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。 返回类型
将相同的值作为 expression 返回。 注释
如果所有自变量均为 NULL,则 COALESCE 返回 NULL 值。 COALESCE(expression1,...n) 与此 CASE 函数等价: CASE
WHEN (expression1 IS NOT NULL) THEN expression1
...
WHEN (expressionN IS NOT NULL) THEN expressionN
ELSE NULL

 

   SET NOCOUNT ON
 GO
 IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
 WHERE TABLE_NAME = '#wages')
 DROP TABLE #wages
 GO
 CREATE TABLE #wages
(
 emp_id tinyint identity,
 hourly_wage decimal NULL,
 salary decimal NULL,
 commission decimal NULL,
 num_sales tinyint NULL
 )
 GO
 INSERT #wages VALUES(10.00, NULL, NULL, NULL)
 INSERT #wages VALUES(20.00, NULL, NULL, NULL)
INSERT #wages VALUES(30.00, NULL, NULL, NULL)
 INSERT #wages VALUES(40.00, NULL, NULL, NULL)
 INSERT #wages VALUES(NULL, 10000.00, NULL, NULL)
INSERT #wages VALUES(NULL, 20000.00, NULL, NULL)
 INSERT #wages VALUES(NULL, 30000.00, NULL, NULL)
 INSERT #wages VALUES(NULL, 40000.00, NULL, NULL)
 INSERT #wages VALUES(NULL, NULL, 15000, 3)
 INSERT #wages VALUES(NULL, NULL, 25000, 2)
 INSERT #wages VALUES(NULL, NULL, 20000, 6)
 INSERT #wages VALUES(NULL, NULL, 14000, 4)

 GO
 SET NOCOUNT OFF
 GO
 SELECT * FROM #wages
 GO
 SELECT CAST(COALESCE(hourly_wage,salary,commission ,num_sales) AS money) AS 'Total Salary'
 FROM #wages

 GO


drop table  #wages

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值