SQL NULL 函数学习笔记

什么是 NULL 值

在 SQL 中,NULL 表示缺失或未知的数据值。当列中任意一行没有值时,都可以使用 NULL 值来填充它。

NULL 函数

SQL 中提供了很多用于处理 NULL 值的函数,以下是其中一些常用的 NULL 函数:

1. IS NULL

IS NULL 函数用于判断一个值是否为 NULL。如果一个值为 NULL,则返回结果为 TRUE,否则为 FALSE。语法如下:

Copy Code
SELECT column_name(s) FROM table_name WHERE column_name IS NULL;

举个例子,假设有一个名叫 customers 的表,其中的 address 字段有部分记录为 NULL。我们可以通过以下 SQL 语句查询出所有 address 为空的记录:

Copy Code
SELECT * FROM customers WHERE address IS NULL;

2. IS NOT NULL

IS NOT NULL 函数用于判断一个值是否不为 NULL。如果一个值不为 NULL,则返回结果为 TRUE,否则为 FALSE。语法如下:

Copy Code
SELECT column_name(s) FROM table_name WHERE column_name IS NOT NULL;

同样以 customers 表为例,我们可以通过以下 SQL 语句查询出所有 address 不为空的记录:

Copy Code
SELECT * FROM customers WHERE address IS NOT NULL;

3. COALESCE

COALESCE 函数用于从多个值中选择第一个非 NULL 值。语法如下:

Copy Code
COALESCE(value1, value2, ..., value_n)

如果所有值均为 NULL,则返回结果为 NULL。

例如,假设有一个名叫 orders 的表,其中的 price 字段有部分记录为空。我们可以通过以下 SQL 语句查询出所有订单的价格,如果价格为空,则用 0 替代:

Copy Code
SELECT COALESCE(price, 0) FROM orders;

总结

NULL 函数在处理缺失或未知的数据时非常有用。使用 IS NULL 和 IS NOT NULL 函数可以轻松地查找出空值或非空值,而使用 COALESCE 函数可以选择第一个非空的值。