SQL - 使用 NULLIF

摘要:SQL - 使用 NULLIF

NULLIF 在 MSDN 上的說明為「如果兩個指定的運算式相等,便傳回 Null 值。」,語法為「NULLIF ( expression-1 , expression-2 )」。意思很簡單,就是說當 expression-1 的值與 expression-2 的值相同時,便會回傳 NULL,其他的就會如實的回傳 expression-1,以下就來寫個小範例...

Code:

Select
Case
 When NULLIF(A.Value, 0) IS NULL Then 0
 ELSE 10 / NULLIF(A.Value, 0)
End As '寫法-1',
Case
 When ISNULL(NULLIF(A.Value, 0), 0) = 0 Then 0
 ELSE 10 / NULLIF(A.Value, 0)
End As '寫法-2'
From
(
 Select 0 as 'Value'
 Union All
 Select 2 as 'Value'
) As A;

結果:


參考:
NULLIF (Transact-SQL)
ISNULL (Transact-SQL)
SQL ISZERO() And NULLIF() For Dividing By Zero