注册

sql中如何将为空变为0

在 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智库其它相关文章!