zoukankan      html  css  js  c++  java
  • SQL Server函数之空值处理

    coalesce( expression [ ,...n ] )返回其参数中第一个非空表达式。

    Select coalesce(null,null,'1','2') //结果为 1

    coalesce(expression1,...n) 与此 case函数等效:

     
    CASE
    WHEN (expression1 IS NOT NULL) THEN expression1
    ...
    WHEN (expressionN IS NOT NULL) THEN expressionN
    ELSE NULL
    END
     

    注意:
    当第一个表达式为字符串且不能转化为整数时,若在后面的表达式中有整数,这样的语句是会报错的。
    例如:

    Select COALESCE('a',null,'1',2) //这是错误的

    这相当于

     
    select 
    CASE
    WHEN ('a' IS NOT NULL) THEN 'a'
    WHEN (2 IS NOT NULL) THEN 2
    ELSE NULL
    END //会出现错误,因为系统无法将a转换为相应的整数
     

    但是

     
    select 
    CASE
    WHEN ('a' IS NOT NULL) THEN 'a'
    WHEN (2 IS NOT NULL) THEN '2'
    ELSE NULL
    END //这是正确的
     

    所以我们在使用coalesce函数时,应该相当小心。
    isnull( check_expression , replacement_value ) 使用指定的替换值替换 NULL。
    replacement_value 必须是可以隐式转换为 check_expresssion 类型的类型。
    在表stu中

    select isnull(ssex,'p') from stu //若ssex列中有NULL值,那么返回p

    nullif( expression , expression ) 如果两个指定的表达式相等,则返回空值,否则 NULLIF 返回第一个 expression 的值。

    select nullif(1,1) //结果为 NULL
    select nullif(1,2) //结果为 1
  • 相关阅读:
    ES6扩展
    javascript当中prototype用法
    三列浮动中间宽度自适应
    介绍axios和promise
    JS高级---实例对象和构造函数之间的关系
    JS-数组常用方法整理
    原生JS轮播图
    JavaScript 开胃菜
    JS高级---遍历DOM树
    JS高级---正则表达式练习身份证号码
  • 原文地址:https://www.cnblogs.com/Agui520/p/9441150.html
Copyright © 2011-2022 走看看