SQL Server的空值函数

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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15042150/viewspace-504572/

你可能感兴趣的:(SQL Server的空值函数)