zoukankan      html  css  js  c++  java
  • MS SQL Server NULL处理

    -- 首先在用户表中插入数据如下

    TRUNCATE TABLE UserInfo ;

    INSERT INTO userinfo(UserName,UserLogin,UserPassword,UserEmail,UserType)

    VALUES ('张三','zhangsan','zhangsan','zhangsan@qq.com',1),

    ('李四','lisi','lisi','lisi@qq.com',2),

    ('王五','wangwu','wangwu','wangwu@qq.com',1),

    ('赵六','zhaoliu','zhaoliu','zhaoliu@qq.com',3),

    ('赵六','zhaoliu1','zhaoliu1','zhaoliu1@qq.com',3),

    (NULL,'test1','test1',NULL,NULL),

    (NULL,'test2','test2',NULL,NULL),

    (NULL,'test3','test3',NULL,NULL),

    ('','TEST5','TEST5','',1),

    ('','TEST6','TEST6','',2),

    ('','TEST7','TEST7','',3),

    ('','TEST8','TEST8','',1),

    ('','EST9','TEST9','',2),

    ('','TEST0','TEST0','',3);


    select * from userInfo

    -- 查询用户名为空(null)的用户信息 isnull(UserName) 此方法不可用,mysql可以使用

    SELECT * FROM UserInfo WHERE userName IS NULL ;

     

    -- 查询用户名为空字符串('') 的用户信息

    SELECT * FROM UserInfo WHERE UserName ='' ;

     

      

    -- 查询用户名为 不为空(null)的用户信息 !=null 和 is not null 是不同的 默认情况下 !=null 返回0行结果

    筛选非空的时候经常会用到is not null和!=null,这两种方法单从字面上来看感觉是差不多的,其实运行结果差别很大!

    null 表示什么也不是, 不能=、>、< … 所有的判断,结果都是false,所有只能用 is null进行判断。默认情况下,推荐使用 is not null去判断,因为SQL默认情况下对 !=null 的判断会永远返回0行,但没有语法错误;

    SELECT * FROM UserInfo WHERE userName IS NOT NULL ;

     

      

    SELECT * FROM UserInfo WHERE UserName != NULL ;

     

      

    -- 查询用户名 不为空字符串('') 并且不为空(null) 的用户信息

    SELECT * FROM UserInfo WHERE UserName <> '' ;

     

    -- 还有一个问题就是count(columnName)函数是不统计null值的

    SELECT COUNT(*) FROM UserInfo ;

     

    SELECT COUNT(UserName) FROM UserInfo ;

     

    -- Isnull函数使用 此处和 mysql中IFNULL函数类型

    -- Isnull(expr1,expr2) 如果expr1不是NULL,返回expr1,否则它返回expr2。

    SELECT *,isnull(UserName,'无效用户') AS Remark FROM UserInfo

    SELECT isnull(0,1) ; 

     



  • 相关阅读:
    SetThreadAffinityMask设置线程亲缘性
    Delphi 获取北京时间(通过百度和timedate网站)
    delphi 实现微信开发
    翻书的效果:FMX.TSwipeTransitionEffect Animation
    [每日一题] OCP1z0-047 :2013-07-15 drop column
    Delphi获取当前系统时间(使用API函数GetSystemTime)
    Delphi代码中嵌入ASM代码
    Delphi Jpg和Gif转Bmp
    Delphi RichEdit的内容保存为图片
    Delphi 实现任务栏多窗口图标显示
  • 原文地址:https://www.cnblogs.com/zhaochengshen/p/5612317.html
Copyright © 2011-2022 走看看