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 值。

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。