then ejemplos ejemplo sql sql-server isnull divide-by-zero

ejemplos - nvl sql server ejemplo



ComprobaciĆ³n de SQL Server para IsNull y para cero (4)

Usas CASE

en lugar de

ISNULL(@VariableEqualToZero,1)

utilizar

CASE WHEN @VariableEqualToZero IS NULL OR @VariableEqualToZero = 0 THEN 1 ELSE @VariableEqualToZero END

COALESCE e ISNULL son básicamente solo accesos directos para una declaración CASE. Puede consultar la ayuda para obtener la sintaxis de CASE.

Tengo lo siguiente:

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

Si @VariableEqualToZero es nulo, sustituye el 1. Lo necesito para sustituir 1 si @VariableEqualToZero = 0 también. ¿Cómo hago esto?


set @SomeVariable = @AnotherVariable / (case when isnull(@VariableEqualToZero, 0) = 0 then 1 else @VariableEqualToZero end) - 1


Si está usando SQL Server, probablemente pueda usar una declaración nullif? (es decir, establezca el valor en nulo si es 0 y luego configúrelo en 1 si es nulo; debería capturar tanto los 0 como los 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