在 SQL 中,处理空值(NULL)的方法是使用聚合函数、条件表达式和特殊运算符
- 使用聚合函数:聚合函数如 AVG()、SUM()、COUNT() 等会自动忽略 NULL 值。例如,如果你想计算一个包含 NULL 值的列的平均值,可以使用 AVG() 函数,它会自动忽略 NULL 值。
SELECT AVG(column_name) FROM table_name;
- 使用条件表达式:在查询中,你可以使用条件表达式(如 CASE 语句)来处理 NULL 值。例如,如果你想将 NULL 值替换为 0,可以使用以下查询:
SELECT column_name, CASE WHEN column_name IS NULL THEN 0 ELSE column_name END AS new_column_name FROM table_name;
- 使用 COALESCE() 或 IFNULL() 函数:这些函数可以用来返回第一个非 NULL 参数。例如,如果你想将 NULL 值替换为 0,可以使用以下查询:
-- 使用 COALESCE() 函数 SELECT COALESCE(column_name, 0) AS new_column_name FROM table_name; -- 使用 IFNULL() 函数(仅适用于 MySQL) SELECT IFNULL(column_name, 0) AS new_column_name FROM table_name;
- 使用 NULLIF() 函数:这个函数可以用来将某个值替换为 NULL。例如,如果你想将所有的 0 值替换为 NULL,可以使用以下查询:
SELECT NULLIF(column_name, 0) AS new_column_name FROM table_name;
总之,处理 SQL 中的空值需要根据具体情况选择合适的方法。在编写查询时,确保正确处理 NULL 值,以避免出现错误或不准确的结果。