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

TRUNCATE TABLE UserInfo ;

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

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

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

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

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

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

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

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

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

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

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

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

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

(13,'','TEST9','TEST9','',2),

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

-- 查询用户名为空(null)的用户信息

SELECT * FROM UserInfo WHERE userName IS NULL ;

SELECT * FROM UserInfo WHERE ISNULL(UserName) ;

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

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 ;

-- IFNULL函数使用

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

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

SELECT IFNULL(0,1) ;

SELECT IFNULL(0/1,'代替null') ;.

SELECT IFNULL(1/0,'代替null') ;

-- 扩展IF函数

-- IF(expr1,expr2,expr3)  如果expr1是TRUE(expr1<>0且expr1<>NULL),返回expr2,否则它返回expr3。

SELECT IF(TRUE,'true值','false值') ;

SELECT IF(FALSE,'true值','false值') ;

SELECT IF(1>2,1,2) ;

SELECT IF(1<2,2,1) ;

MySQL NULL处理的更多相关文章

  1. MySQL NULL 值处理

    MySQL NULL 值处理 我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. 为了 ...

  2. Oracle 与 Mysql NULL值,空字符串''的区别

    Oracle(null等同于空字符'') 1.oracle插入空字符串默认替换成null 2.oracle查询(null和被替换的空字符)时使用 is null/is not null 3.使用聚合函 ...

  3. 二十一、MySQL NULL 值处理

    MySQL NULL 值处理 我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. ...

  4. DB-MySQL:MySQL NULL 值处理

    ylbtech-DB-MySQL:MySQL NULL 值处理 1.返回顶部 1. MySQL NULL 值处理 我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数 ...

  5. MySQL NULL 使用带来的坑

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  6. mysql NULL函数 语法

    mysql NULL函数 语法 作用:如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录.这意味着该字段将以 NULL 值保存. 说明:NULL 值的处理方式与其 ...

  7. mysql null值处理详细说明

    在讲null之前,我们先看一个例子 表数据如下: 3306>select * from t1; +------+-------+ | id | name | +------+-------+ | ...

  8. mysql=null的优雅解决方法

    对于不是采用所有字段都是not null的mysql表设计而言,mysql提供了一个<=>操作符. 在oracle中我们的处理方式通常类似: where a = #{var} or #{v ...

  9. mysql null值的特殊处理

    实例 尝试以下实例: root@host# mysql -u root -p password; Enter password:******* mysql> use RUNOOB; Databa ...

  10. mysql null值问题

    mysql> create table test( sn int, -> `createdTime` datetime NOT NULL COMMENT '创建时间', -> `up ...

随机推荐

  1. json 模块 与 pickle 模块

    1 import json 3 dic={'name':'alvin','age':23,'sex':'male'} 4 print(type(dic))#<class 'dict'> 6 ...

  2. .Net版微信支付

    一. 案例介绍 这里模拟一个实际业务场景,进行介绍微信支付,业务功能包括:登录.注册.充值.查看充值记录. 页面图:       二. 概要设计 1.数据库设计 这里数据库包括两张表:用户表和订单表. ...

  3. 前端常用UI框架

    移动端UI框架 Mint UI(饿了么团队) 中文官网:http://mint-ui.github.io/#!/en 饿了么前端团队推出的基于Vue.js的移动端组件库 GitHub地址:https: ...

  4. 905. Sort Array By Parity

    Description Given an array A of non-negative integers, return an array consisting of all the even el ...

  5. 用python实现单向链表

    单向链表 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域.这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值. 表元素域ele ...

  6. 谈谈java程序代码保护及license设计

    理论上讲,不存在牢不可破的漏洞,只是时间和成本问题.通常我们认为的不可破解,说的是破解需要难以接受的时间和成本.对于java程序来说,class文件很容易被反编译,所以理论上而言,对java程序做li ...

  7. Java面试经典题目合集

    32 1.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法与类相关,可以在 ...

  8. Windows 常用的 CMD 命令

    Ø  简介 本文主要记录 Windows 下一些常用的 CMD 命令,俗话说好记性不如烂笔头. 1.   help 查看 cmd 命令帮助信息(包括所有的 cmd 命令) 2.   设置 cmd 进入 ...

  9. Webpack2学习记录-2

    这篇在 webpack-demo 目前下新建一个 w2 目录,学习 webpack.config.js 及 与 npm scripts 的使用. 1.w2 下新建一个 webpack.config.j ...

  10. 【LeetCode】134.Gas Station

    Problem: There are N gas stations along a circular route, where the amount of gas at station i is ga ...