sql中如何将为空变为0-SQL
如何将 SQL 中的 NULL 值转换为 0
在 SQL 查询中,将 NULL 值转换为 0 非常常见。可以使用以下方法之一:
1. COALESCE 函数:
COALESCE 函数使用以下语法:
COALESCE(expression1, expression2, ..., expressionN)
登录后复制
其中:
- expression1 是要检查的第一个表达式。
- expression2,...,expressionN 是可选的备用表达式。
如果 expression1 不为 NULL,则 COALESCE 返回 expression1;否则,它返回第一个不为 NULL 的备用表达式(如果有)。
示例:
SELECT COALESCE(salary, 0) AS updated_salary FROM employees;
登录后复制
这将用 0 替换所有空值。
2. ISNULL 函数:
ISNULL 函数使用以下语法:
ISNULL(expression, replacement_value)
登录后复制
其中:
- expression 是要检查的表达式。
- replacement_value 是如果 expression 为 NULL 时要返回的值。
示例:
SELECT ISNULL(salary, 0) AS updated_salary FROM employees;
登录后复制
这与 COALESCE 函数的工作方式类似。
3. CASE 表达式:
CASE 表达式使用以下语法:
CASE WHEN expression = value THEN result_1 WHEN ... ELSE result_N END
登录后复制
其中:
- expression 是要评估的表达式。
- value 是要检查的值。
- result_1 是如果 expression 等于 value 时要返回的值。
- ...,resultN 是可选的备用结果。
- ELSE 是可选的,用于返回如果 expression 与任何 value 不匹配时的默认值。
示例:
SELECT CASE WHEN salary IS NULL THEN 0 ELSE salary END AS updated_salary FROM employees;
登录后复制
这将检查 salary 列是否为 NULL,如果是,则返回 0,否则返回 salary 值。