在 sql 中,可以使用 coalesce、isnull 或 case 表达式将 null 值转换为 0:coalesce 函数检查多个表达式,返回第一个非 null 值,如果所有表达式均为 null,则返回指定的默认值 0。isnull 函数检查一个表达式,如果为 null,则返回指定的默认值 0。case 表达式根据条件评估表达式,返回指定的值,如果条件不满足,则返回默认值 0。
如何将 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 值。
以上就是sql中如何将为空变为0的详细内容,更多请关注CTO智库其它相关文章!