ISNULL 및 0에 대한 SQL 서버 점검
-
06-09-2019 - |
문제
나는 다음과 같습니다.
set @SomeVariable = @AnotherVariable/isnull(@VariableEqualToZero,1) - 1
@variableequaltozero가 null이면 1을 대체합니다. 어떻게해야합니까?
해결책
SET @SomeVariable = @AnotherVariable / COALESCE(
CASE
WHEN @VariableEqualToZero = 0 THEN 1
ELSE @VariableEqualToZero
END, 1) - 1
다른 팁
SQL Server를 사용하는 경우 Nullif 문을 사용할 수 있습니까? (즉, 0 인 경우 값을 NULL로 설정 한 다음 NULL 인 경우 1로 설정합니다. 0과 NULLS를 모두 잡아야합니다.
SET @SomeVariable = @AnotherVariable/ISNULL(NULLIF(@VariableEqualToZero,0),1) - 1
set @SomeVariable = @AnotherVariable /
(case when isnull(@VariableEqualToZero, 0) = 0 then 1 else
@VariableEqualToZero end) - 1
당신은 케이스를 사용합니다
대신에
ISNULL(@VariableEqualToZero,1)
사용
CASE WHEN @VariableEqualToZero IS NULL OR @VariableEqualToZero = 0 THEN 1 ELSE @VariableEqualToZero END
Coalesce와 Isnull은 본질적으로 사례 명세서의 바로 가기입니다. 사례 구문에 대한 도움을 참조하십시오.
제휴하지 않습니다 StackOverflow