在 SQL 中,NULL 值表示缺失或未知的信息。在某些情况下,您可能需要去除 NULL 值以获得更准确或有意义的结果。本文将探讨 SQL 中去除 NULL 值的几种有效 。
**使用 ISNULL() 函数
**ISNULL() 函数用于将 NULL 值替换为指定的值。语法如下:
ISNULL(expression, replacement_value)
其中:
* expression:要检查的表达式。
* replacement_value:如果 expression 中的值为 NULL,则替换为该值。
**示例:**
SELECT ISNULL(name, 'Unknown') FROM table_name;
此查询将 name 列中的所有 NULL 值替换为 'Unknown'。
**使用 COALESCE() 函数
**COALESCE() 函数用于按列表中的顺序查找第一个非 NULL 值并将其作为结果。语法如下:
COALESCE(expression1, expression2, ..., expressionN)
其中:
* expression1, expression2, ..., expressionN:要评估的表达式列表。
**示例:**
SELECT COALESCE(address, city, country) FROM table_name;
此查询将 address 列中的值作为结果,如果 address 为 NULL,则使用 city,如果 city 也为 NULL,则使用 country。
**使用 CASE 表达式
**CASE 表达式允许您基于表达式中的条件指定不同的结果。语法如下:
CASE
WHEN condition1 THEN result_value1
WHEN condition2 THEN result_value2
...
ELSE default_result_value
END
其中:
* condition1, condition2, ...:要评估的条件。
* result_value1, result_value2, ...:当相应条件为 true 时返回的值。
* default_result_value:如果所有条件都为 false 时返回的值。
**示例:**
SELECT CASE
WHEN price IS NULL THEN 'N/A'
ELSE price
END FROM table_name;
此查询将 price 列中的 NULL 值替换为 'N/A',否则返回 price 值。