sqlserver如何查询NULL的结果?ISNULL使用

sqlserver中的NULL是一种特别的存在,因为,不克不及直接利用等号匹配NULL成果,需要利用IS NULL或者IS NOT NULL来查询过滤成果

方式/步调

  1. 1

    建立一个姑且表,用于演示sqlserver语法中的NULL利用

    IF OBJECT_ID('tempdb..#tmpNull') IS NOT NULL DROP TABLE #tmpNull; 

    CREATE TABLE #tmpNull(

        EName varchar(50),          -- 姓名

        EAddress varchar(200)       -- 地址

    );

  2. 2

    往姑且表中插入几行测试数据,此中包罗插入Null值

    insert into #tmpNull(EName, EAddress) values('员工1', '中国海说神聊京');

    insert into #tmpNull(EName, EAddress) values('员工10', NULL);

    insert into #tmpNull(EName, EAddress) values('员工100', '法国巴黎');

    insert into #tmpNull(EName, EAddress) values('员工120', NULL);

    insert into #tmpNull(EName, EAddress) values('员工150', '');

  3. 3

    查询姑且表中的测试数据

    select * from #tmpNull

  4. 4

    利用等号查询地址列中值为NULL的成果,经由过程查询可以看出,这样是不会返回任何成果的,因为sqlserver中的Null是不等于Null的

    select * from #tmpNull where EAddress = NULL

  5. 5

    若是必然要查询地址为Null的成果,就要利用IS NULL的语律例则查询

    select * from #tmpNull where EAddress IS NULL

  6. 6

    若是要查询地址不为NULL的成果,可以利用IS NOT NULL的查询语法

    select * from #tmpNull where EAddress IS NOT NULL

  7. 7

    还可以利用ISNULL函数,同时查询出NULL和空字符串的成果

    select * from #tmpNull where ISNULL(EAddress, '') = '' 

  • 发表于 2019-04-16 23:25
  • 阅读 ( 926 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具