SQL Server: ISNULL与NULLIF和COALESCE

本文介绍了SQL中处理NULL值的三种方法:ISNULL用于判断并替换NULL值;NULLIF将特定值转换为NULL;COALESCE则提供了一种用非NULL值替代NULL的方法。通过具体示例展示了这些函数的应用场景。

ISNULL是判断是否为NULL

而NULLIF是把值换成NULL

COALESCE是用别的来代替NULL

SELECT employee_id,first_name,last_name,NULLIF (SALES_QUOTA,-1) as Quota

FROM employees

就是把-1变成 NULL

COALESCE(表达式1,表达式2,....表达式n)

从前到后,谁不是NULL就显示谁

Select employee_id,first_name,last_name,

     COALESCE ( appt_quota,(Select Min(appt_quota) From employees),0 ) AS quota
From employees
Where department = 'Marketing'

附:
ISNULL(check_expression, replacement_value)

  • check_expression 与 replacement_value 数据类型必须一致
  • 如果 check_expression 为 NULL,则返回 replacement_value
  • 如果 check_expression 不为 NULL,则返回 check_expression

NULLIF 用于检查两个表达式,语法:
NULLIF(expression, expression)

  • 如果两个 expression 相等,则返回 NULL,该 NULL 为第一个 expression 的数据类型
  • 如果两个 expression 不相等,则返回第一个 expression

 

From: http://hi.baidu.com/usher_gml/blog/item/98c98c3411b44a335ab5f57f.html

转载于:https://www.cnblogs.com/emanlee/archive/2009/04/06/1430419.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值