我有以下内容:
set @SomeVariable = @AnotherVariable/isnull(@VariableEqualToZero,1) - 1
如果@VariableEqualToZero为null,则替换为1.如果@VariableEqualToZero = 0,我需要它替换1.我该怎么做呢?
如果您使用的是SQL Server,则可以使用nullif语句?(即如果它为0则将值设置为null,如果它为null则将其设置为1 - 应该同时捕获0和NULL
SET @SomeVariable = @AnotherVariable/ISNULL(NULLIF(@VariableEqualToZero,0),1) - 1
SET @SomeVariable = @AnotherVariable / COALESCE( CASE WHEN @VariableEqualToZero = 0 THEN 1 ELSE @VariableEqualToZero END, 1) - 1