MariaDB IFNULL() 函数的基础用法与实例

MariaDB IFNULL() 函数是一个内置的函数,用于检查一个表达式是否为 NULL,如果是,则返回另一个指定的值,否则返回原始的表达式值。

发布于

MariaDB IFNULL() 函数是一个内置的函数,用于检查一个表达式是否为 NULL,如果是,则返回另一个指定的值,否则返回原始的表达式值。这个函数可以用于处理 NULL 值,或者提供默认值。

语法

MariaDB IFNULL() 函数的语法如下:

IFNULL(expression, value)

其中,expression 是要检查的表达式,可以是任何有效的 SQL 表达式。value 是要返回的值,如果 expression 为 NULL。value 的数据类型必须与 expression 的数据类型兼容,否则会发生隐式转换或错误。

实例

下面是一些使用 MariaDB IFNULL() 函数的实例。

使用 IFNULL() 函数处理 NULL 值

假设我们有一个名为 students 的表,存储了学生的姓名和成绩,如下所示:

name score
Alice 90
Bob NULL
Cindy 80
David NULL

我们可以使用 IFNULL() 函数来查询学生的姓名和成绩,如果成绩为 NULL,则显示 “N/A”,如下所示:

SELECT name, IFNULL(score, 'N/A') AS score FROM students;

运行结果如下:

| name  | score |
| ----- | ----- |
| Alice | 90    |
| Bob   | N/A   |
| Cindy | 80    |
| David | N/A   |

使用 IFNULL() 函数提供默认值

假设我们有一个名为 products 的表,存储了产品的名称和价格,如下所示:

name price
iPhone 5000
iPad 3000
MacBook 10000
AirPods NULL

我们可以使用 IFNULL() 函数来查询产品的名称和价格,如果价格为 NULL,则显示 1000,如下所示:

SELECT name, IFNULL(price, 1000) AS price FROM products;

运行结果如下:

| name     | price |
| -------- | ----- |
| iPhone   | 5000  |
| iPad     | 3000  |
| MacBook  | 10000 |
| AirPods  | 1000  |

使用 IFNULL() 函数与其他函数结合

我们也可以使用 IFNULL() 函数与其他函数结合,例如,我们可以使用 IFNULL() 函数和 CONCAT() 函数来拼接字符串,如果某个字符串为 NULL,则使用另一个字符串替代,如下所示:

SELECT CONCAT(IFNULL(first_name, 'Unknown'), ' ', IFNULL(last_name, 'Unknown')) AS full_name FROM users;

这个语句会查询用户的全名,如果用户的姓或名为 NULL,则使用 “Unknown” 替代。

相关函数

MariaDB 还提供了一些与 IFNULL() 函数类似的函数,例如:

  • COALESCE() 函数:用于返回第一个非 NULL 的参数值,如果所有的参数都为 NULL,则返回 NULL。
  • IF() 函数:用于根据一个条件返回两个值中的一个,如果条件为真,则返回第一个值,否则返回第二个值。
  • NULLIF() 函数:用于比较两个表达式,如果相等,则返回 NULL,否则返回第一个表达式的值。

结论

MariaDB IFNULL() 函数是一个有用的函数,可以用于处理 NULL 值,或者提供默认值。它的语法简单,用法灵活,可以与其他函数结合使用。