sql中某些日期范围除以零错误

Posted

技术标签:

【中文标题】sql中某些日期范围除以零错误【英文标题】:Divide by zero error for some date ranges in sql 【发布时间】:2018-06-28 22:36:45 【问题描述】:

此 WHERE 子句适用于四月,但当日期范围更改为三月时,它会返回“除以零”错误。三月和四月都有记录。知道如何避免日期范围的错误吗?谢谢。

WHERE date_start >= '2018-04-01' AND date_stop < '2018-05-01'

【问题讨论】:

你应该显示你的查询。 【参考方案1】:

您可以使用nullif() 轻松避免被零除:

select a / nullif(b, 0)

这将返回 NULL 而不是错误。

【讨论】:

谢谢,戈登。我尝试了 nullif() 但它没有用。 WHERE nullif(date_start, 0) >= '2018-03-01' AND nullif(date_stop, 0) 按照您的建议将 NULLIF() 应用于所有部门后,错误就消失了。谢谢!顺便说一句,NULL 结果仍然显示 NULL - 有没有办法为数字类型显示空白? @LeoJones。 . .并不真地。您唯一的选择是转换为字符串并将NULL 值表示为空字符串。 我就是这么想的。谢谢。

以上是关于sql中某些日期范围除以零错误的主要内容,如果未能解决你的问题,请参考以下文章

T-SQL为啥除以零不会在order by子句中产生错误

运行脚本时,我在 SQL 中得到“除以零”

在 SQL 中计算销售百分比时除零错误

除以零错误输入到计算器的 Tkinter 消息中

在 SQL Server 中出现“超出范围值”错误后如何查找错误日期?

使用 datediff 时遇到除以零错误