If you need null strings, if @test is null, you can use a combination of NULLIF and ISNULL :
SELECT * FROM [dbo].[ViewsConfiguration] WHERE PolicyId= 139 AND ISNULL(NULLIF(EventName, @test), NULLIF(@test, EventName)) IS NULL
ISNULL(NULLIF(EventName, @test), NULLIF(@test, EventName)) supplies null if the values ββare either null or equal:
EventName @test Result ---------------------------------- null null null [value] null [value] null [value] [value] [value1] [value2] [value1] [value] [value] null
source share