SQL Server 检查 IsNull 和零

标签 sql sql-server isnull divide-by-zero

我有以下内容:

set @SomeVariable = @AnotherVariable/isnull(@VariableEqualToZero,1) - 1 

如果@VariableEqualToZero为空,它会替换1。如果@VariableEqualToZero = 0,我也需要它替换1。我该怎么做呢?

最佳答案

如果您使用的是 SQL Server,您也许可以使用 NULLIF 语句?
即,如果值是 0,则将其设置为 NULL,如果是 NULL,则将其设置为 1 - 应该捕获两者0 和 NULL:

SET @SomeVariable = @AnotherVariable/ISNULL(NULLIF(@VariableEqualToZero,0),1) - 1

关于SQL Server 检查 IsNull 和零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/580364/

相关文章:

sql声明字符串并在where子句中使用

mysql - 增量变量和存储过程检查重复项的问题

c++ - 服务器日期时间与客户端日期时间

sql - Sublime Text : how to correct SQL Server syntax

sql - 将商或更长的表达式分配给局部(实数)变量 T SQL

mysql - 使用查询插入到mysql中的表中

sql - 排除带有 t sql 的行

sql - 带有 many-ISNULL 的多列 UPDATE-JOIN 需要很长时间?

php - Mysql "is not NULL"运行非常缓慢

Django:按 'field__isnull=True' 或 'field=None' 过滤查询集?