• When you cast(blank('') as int), it returns 0. so when you compare 0 with 0 nullif returns NULL.

    declare @a smallint

    set @a= 0

    select nullif(@a,0)

    Ans: NULL