sql - 使用 NULLIF 除以零

标签 sql sql-server tsql

这是我在下面收到的错误:

Divide by zero error encountered.
Warning: Null value is eliminated by an aggregate or other SET operation.

在查看了看起来我需要使用 NULLIF 或 ISNULL 的解决方案后,我只是不确定如何将它包含在下面的行中。

select  
min(round(OnCallTime*100/TotalTime,1)) as total

我正在使用 SQL Management Studio 2012

最佳答案

在分母中使用 NULLIF,如下所示:

select  
min(round((OnCallTime*100/NULLIF(TotalTime,0)),1)) as total

因此,每当 TotalTime 为零时,它将被替换为 NULL,您将不会收到 Division by Zero 的错误。

关于sql - 使用 NULLIF 除以零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53443677/

相关文章:

Sql Server Decimal(30,10) 丢失最后 2 位小数

SQL 服务器 : is there a way to insert into a table values using both SELECT and VALUES at the same time?

c# - Linq To SQL select 语句转换为 Where 0 = 1

python - 未使用 WAMP SERVER Django/Mezzanine 在 MYSQL 中创建表

sql - 如何确定 Crystal Reports 函数的用途?

sql - 如何找到分组的 SQL 中位数

sql-server - 为什么在 SQL Server 中的索引列上执行 top(1) 速度很慢?

sql - T-SQL 中的按行最大值

sql - 运算符不是唯一的。无法选择最佳候选运算符。您可能需要添加显式类型转换

sql - 当某些东西存储为数组时的 Rails where 子句