MySQL 如何使用MySQL的IF()函数自定义行的值而不是NULL?

MySQL 如何使用MySQL的IF()函数自定义行的值而不是NULL?

在使用MySQL时,当查询出的数据没有符合条件的结果时,往往会出现NULL值。但是,在某些情况下我们需要为这些NULL值设定自定义的值,这时我们可以使用MySQL的IF()函数。本文将介绍如何使用MySQL的IF()函数自定义行的值而不是NULL。

阅读更多:MySQL 教程

IF()函数的语法

IF()函数的语法如下:

IF(expr1,expr2,expr3)

其中,expr1是条件表达式,如果为TRUE,IF()函数返回expr2,否则返回expr3。

实例代码

在下面的实例中,我们将使用IF()函数为表格中的NULL值设定默认值:

首先,我们创建一个名为”students”的表格:

CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(20) NOT NULL,
  age INT,
  gender VARCHAR(10),
  address VARCHAR(200)
);

接下来,我们插入一些数据:

INSERT INTO students VALUES
  (1, 'Alice', NULL, 'Female', 'New York'),
  (2, 'Bob', 24, 'Male', 'London'),
  (3, 'Cathy', 23, NULL, 'Paris'),
  (4, 'David', 21, 'Male', NULL),
  (5, 'Emily', 25, 'Female', 'Beijing');

我们可以使用SELECT语句查询表格中的数据:

SELECT * FROM students;

+----+-------+------+--------+----------+
| id | name  | age  | gender | address  |
+----+-------+------+--------+----------+
|  1 | Alice | NULL | Female | New York |
|  2 | Bob   |   24 | Male   | London   |
|  3 | Cathy |   23 | NULL   | Paris    |
|  4 | David |   21 | Male   | NULL     |
|  5 | Emily |   25 | Female | Beijing  |
+----+-------+------+--------+----------+

我们可以看到,表格中有四个NULL值。我们现在要使用IF()函数为这些NULL值设定默认值。

SELECT id, name, IF(age IS NULL, 'Unknown', age) AS age, IF(gender IS NULL, 'Not Specified', gender) AS gender, IF(address IS NULL, 'Unknown', address) AS address FROM students;

+----+-------+-------------+----------------+----------+
| id | name  | age         | gender         | address  |
+----+-------+-------------+----------------+----------+
|  1 | Alice | Unknown     | Female         | New York |
|  2 | Bob   |           24 | Male           | London   |
|  3 | Cathy |           23 | Not Specified | Paris    |
|  4 | David |           21 | Male           | Unknown  |
|  5 | Emily |           25 | Female         | Beijing  |
+----+-------+-------------+----------------+----------+

我们可以看到,NULL值已经被替换成了自定义的默认值。

结论

当我们需要为MySQL表格中的NULL值设定自定义的默认值时,使用IF()函数是一个很好的方案。IF()函数的语法简单易懂,能够帮助我们方便地解决NULL值带来的问题。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程