det är rätt beteende.
om du ställer in @item1
till ett värde kommer uttrycket nedan att vara sant
IF (@item1 IS NOT NULL) OR (LEN(@item1) > 0)
Hur som helst i SQL Server finns det ingen sådan funktion men du kan skapa din egen:
CREATE FUNCTION dbo.IsNullOrEmpty(@x varchar(max)) returns bit as
BEGIN
IF @SomeVarcharParm IS NOT NULL AND LEN(@SomeVarcharParm) > 0
RETURN 0
ELSE
RETURN 1
END