sql - 如果字段为空,则 10 postgreSQL

标签 sql postgresql

我正在计算所有书籍的价格。我需要确保如果字段为空(它为 NULL),那么 Book 的值为 10。我试过这个: SUM(CASE WHEN Value = NULL THEN 10 ELSE Value END) as main_value

但这并没有做任何事情。它可以很好地计算总和,但是当它发现空字段 (null) 时,它不会在计算中使用值 10。 我做错了什么?

最佳答案

如果您只想将 NULL 视为 10,则 COALESCE会成功的:

The COALESCE function returns the first of its arguments that is not null. Null is returned only if all arguments are null.

所以你可以:

sum(coalesce(Value, 10))

关于sql - 如果字段为空,则 10 postgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257973/

相关文章:

function - 执行 postgresql 函数时出错

c# - SQL 强制应用程序加密连接

mysql - 用最少的时间总和获得最多的用户分数

MySQL构造返回排序的计数列表

mysql - 重复DB值

postgresql - 如何升级 Cloudera Manager Postgres 数据库

sql - 我可以 DRY SQL 吗?如何在 BEGIN ... COMMIT 中调用两个 SQL 脚本?

Django 用户名字不是必需的,但在数据库中有 NOT NULL 约束

sql - 如果字段长度大于 n,则自动递增计数器

PostgreSQL 内部 : Why is COUNT slow?