📜  MySQL IFNULL()(1)

📅  最后修改于: 2023-12-03 14:44:26.984000             🧑  作者: Mango

MySQL IFNULL() 函数介绍

简介

MySQL IFNULL() 函数用于在查询结果中替换掉 NULL 值,并返回替换后的非空值。

语法

下面是 IFNULL() 函数的语法:

IFNULL(expr1, expr2)
  • expr1: 要进行判断的表达式,如果为 NULL 则会被替换。
  • expr2: 如果 expr1 为 NULL,则会返回 expr2 的值。
示例

假设有一个名为 students 的表,其中有 nameage 列。其中有一些年龄为空的记录,我们可以使用 IFNULL() 函数来替换这些空值。

下面是一个示例:

SELECT name, IFNULL(age, 'Unknown') AS age FROM students;

这将返回一个结果集,它包含了每个学生的姓名和年龄。如果年龄为空,则会返回 "Unknown"。

结果

| name | age | |--------|----------| | John | 20 | | Alice | Unknown | | Bob | 25 |

注意事项
  • IFNULL() 函数只会替换 NULL 值,并不会替换其他空字符串或非空值。
  • IFNULL() 函数可以在 SELECT 语句以及其他查询语句中使用,例如 WHERE 子句中。
  • 可以多次使用 IFNULL() 函数来进行连续替换,以处理多个 NULL 值。
示例:
SELECT name, IFNULL(IFNULL(city, 'Unknown'), 'N/A') AS location FROM customers;

这个示例中,我们使用了两次 IFNULL() 函数。首先替换 city 列中的 NULL 值为 "Unknown",然后再将结果中的 NULL 值替换为 "N/A"。

结果

| name | location | |---------|----------| | John | Unknown | | Alice | New York | | Bob | N/A |

通过这些例子,你可以理解和熟练使用 MySQL 的 IFNULL() 函数来处理空值,使得查询结果更加友好和准确。