sql - 避免在 PostgreSQL 中被零除

标签 sql postgresql null aggregate-functions divide-by-zero

我想在 SELECT 子句中执行除法。当我连接一些表并使用聚合函数时,我通常使用空值或零值作为分隔符。至于现在我只是想出这种避免被零和空值除的方法。

(CASE(COALESCE(COUNT(column_name),1)) WHEN 0 THEN 1
ELSE (COALESCE(COUNT(column_name),1)) END) 

我想知道是否有更好的方法来做到这一点?

最佳答案

您可以使用 NULLIF功能例如

something/NULLIF(column_name,0)

如果 column_name 的值为 0 - 整个表达式的结果将为 NULL

关于sql - 避免在 PostgreSQL 中被零除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17681375/

相关文章:

mysql查询-统计用户之间的共同词

sql - PostgreSQL - 键值对规范化

PostgreSQL 数据库连接错误

sql - 使用 SQL 查询在 Postgresql 中获取函数、序列、类型等的定义

java - 将对象声明为 null 时出现问题

sql - 多次插入相同的数据

mysql - 询问!我如何获得每个用户三张 table 的总餐费和费用!这是我的第一个问题,很抱歉给您带来不便

sql - "select from table1, table2 "意味着什么操作?

c# - 为什么两个空字符串相加的结果不为空?

php - 使用 MySQL 检查空字段