ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL Server的空值函数

SQL Server的空值函数

原创 Linux操作系统 作者:Learnsql 时间:2008-12-03 16:50:10 0 删除 编辑

COALESCE     CASE       ISNULL         NULLIF       IS NULL
 
 
1 COALESCE: 返回其参数中第一个非空表达式,如果所有参数均为 NULL,则返回 NULL
 
  SELECT COALESCE(NULL,'B','C')  --结果返回 'B'

2 CASE :按指定的顺序对每个WHEN子句的Boolean_expression进行计算,返回Boolean_expression
         的第一计算结果为 TRUE 的 result_expression,如果计算结果不为 TRUE,则在指定 ESLE
         子句的情况下,返回else_result_expression,否则返回 NULL
  DECLARE @BlnExpression NVARCHAR(10)
--  SET @BlnExpression='A' --若在此进行赋值则返回所赋的值'A'
  SELECT CASE WHEN @BlnExpression IS NOT NULL THEN @BlnExpression END AS BlnExpression --返回NULL

3 ISNULL: 使用指定的替换值替换 NULL,如果被检查的表达式不为 NULL,则返回被检查的表达式的值,
    否则返回指定的表达式的值
 
  DECLARE @Chk_Expression NVARCHAR(10),
    @Rep_Expression NVARCHAR(10)

--  SET @Chk_Expression='A' --若在此赋值了检查表达式,则返回检查表达式的值
  SET @Rep_Expression='B' --用'B'替换NULL值

  SELECT ISNULL(@Chk_Expression,@Rep_Expression)

4 NULLIF: 如果两个指定的表达式等价,则返回空值,如果两个表达式不等价,则 NULLIF 返回第一个表达式的值

 SELECT NULLIF('A','A') --返回NULL
 SELECT NULLIF('A','B') --返回'A'
             
5 IS NULL: 确定指定的表达式是否为 NULL,如果表达式的值为 NULL,则返回 TRUE;否则,返回 FALSE
 
  DECLARE @Var NVARCHAR(10)
 
--  SET @Var='A' --若在此赋值了变量,则返回False
 
  IF @Var IS NULL
  PRINT 'True'
  Else
        PRINT 'False'

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15042150/viewspace-504572/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-01

  • 博文量
    20
  • 访问量
    47339