Instrukcja Sql Case w Sql IN

mamsql oświadczenie, w którym warunek jest taki jak poniżej

WHERE (TABLE1.Field=@Id OR (@Id=0))

To działa dobrze, gdy@Id wartości wynoszą zero lub więcej

Teraz muszę dopasować wiele wartości, gdy wartość @Id stanie się 0.

Próbowałem czegoś takiego poniżej, które nie działa. Wiem, że mogę użyćIF-ELSE tutaj, ale zastanawiam się, czy można to osiągnąćcase statemet

WHERE TABLE1.Field IN (CASE WHEN @Id>0 THEN @Id ELSE (6,16,18) END)

questionAnswers(2)

yourAnswerToTheQuestion