为什么这种情况下PostgreSQL中没有“除零”错误?

时间:2018-04-02 10:27:16

标签: postgresql

注意到PostgreSQL 9.5的以下行为:

将零分割为零 - 按预期工作:

Dictionary

# select 1 / 0; ERROR: division by zero 除以零:

NULL

我浏览了文档,但没有找到任何关于此类设计决策原因的参考。红利的结果可能取决于数据 - 可以是某种东西或# select NULL / 0; ?column? ---------- (1 row) ,因此结果 - NULL或错误 - 将取决于数据。如果已知除数为零,那么在所有情况下抛出错误会不会更安全?

1 个答案:

答案 0 :(得分:0)

这更多是关于SQL Standard而不是任何东西:

  

涉及NULL的算术运算返回NULL。例如,   NULL减去NULL会产生NULL,而不是零。

在这种情况下的决定只是遵循SQL ANSI。