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)