7.where_如何处理NULL_isnull()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.where_如何处理NULL_isnull()相关的知识,希望对你有一定的参考价值。

USE SQLSERVER;
SELECT * FROM EMP;

--is null如何分离数据库中的NULL空值
--is null(字段,值)

--查询comm为NULL的详细数据
    select * from emp where comm = null;--错误
    select * from emp where comm is null;

--查询奖金(comm)不为NULL的详细数据
    select * from emp where comm <> null;--错误
    select * from emp where comm != null;--错误
    select * from emp where comm is not null;
    
/*
    注意:
        NULL:        是空的,不存在的意思
        运算符号:    NULL无法作为条件或者数据进行运算

    定义:
        数据库中: NULL     和 VALUE 的概念
                   不存在        值

    语法:
        select * from * where * is (not) null;
        
    语意:
        select * from emp where comm is (not) null;
        来自emp 那个 comm 等于空 的查询, 并显示
                
        是可以判断是否有值或不存在值的方法
*/

--计算奖金(comm)*12的结果
    select 12*comm as comm from emp;--查询结果NULL数据的始终为NULL

--计算一个月工资和奖金之和
    select sal+comm from emp;--comm字段NULL并不能与sal正常的相加(不代表0)
    
    --解决办法(    聚合函数isnull(字段, 数值),当检查的字段为NULL则返回数值,否则返回原本的数值    )
    select sal + isnull(comm, 0) as "月薪+奖金" from emp;
    
--计算一年工资和奖金之和
    select 12*sal + isnull(comm, 0) as "年薪" from emp;

--计算一年工资和奖金之和(不包括comm为空NULL的)
    select distinct 12*sal+comm as "年薪" from emp where comm is not null;

/*
    注意:
        NULL 不能进行运算

    语法:
        isnull(字段,值)--当 字段 只是的属性为NULL时返回指定的 值,否则返回 字段 自身的值

*/

 

以上是关于7.where_如何处理NULL_isnull()的主要内容,如果未能解决你的问题,请参考以下文章

Navicat 导出csv数据乱码如何处理?

如何处理 VBA 中的 DLL 错误?

如何处理 SIGSEGV,Segmentation fault。使用 Avx2 时

__eq__ 在 Python 中是如何处理的以及按啥顺序处理?

NEON 如何处理溢出?

Cuda _sync 函数,如何处理未知的线程掩码?