MySQL 如何检查列值是否为NULL或具有默认值

MySQL 如何检查列值是否为NULL或具有默认值

您可以使用IFNULL()的概念实现此目的。让我们先创建一个表 –

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Name varchar(100) DEFAULT 'Larry',
   Age int DEFAULT NULL
);
Query OK, 0 rows affected (0.73 sec)
Mysql

使用insert命令将记录插入表中 –

mysql> insert into DemoTable(Name,Age) values('John',23);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.34 sec)
mysql> insert into DemoTable(Name) values('David');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(Age) values(24);
Query OK, 1 row affected (0.13 sec)
Mysql

以下是使用select语句从表中显示所有记录的查询 –

mysql> select *from DemoTable;
Mysql

这将生成以下输出 –

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
| 1  | John  | 23   |
| 2  | Larry | NULL |
| 3  | David | NULL |
| 4  | Larry | 24   |
+----+-------+------+
4 rows in set (0.00 sec)
Mysql

以下是在MySQL中检查列值是否为NULL或具有默认值的查询。

mysql> select * from DemoTable WHERE IFNULL(Name, DEFAULT(Name)) <> DEFAULT(Name);
Mysql

这将生成以下输出 –

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
| 1  | John  | 23   |
| 3  | David | NULL |
+----+-------+------+
2 rows in set (0.00 sec)
Mysql

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册