Sql Case заявление в Sql IN

у меня естьsql заявление, которое имеет условие где, как показано ниже

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

Это прекрасно работает, когда@Id значения ноль или более

Теперь мне нужно сопоставить несколько значений, когда значение @Id становится 0.

Я попробовал что-то вроде ниже, который нет работа. Я знаю, что я могу использоватьIF-ELSE здесь, но интересно, может ли это быть достигнуто с помощьюcase statemet

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

Ответы на вопрос(2)

Ваш ответ на вопрос