SQL Case-Anweisung in SQL IN

Ich habe einsql Anweisung, die eine where-Bedingung wie unten haben

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

Dies funktioniert gut, wenn@Id Werte sind null oder mehr

Jetzt muss ich mehrere Werte abgleichen, wenn der @Id-Wert 0 wird.

Ich habe so etwas wie unten probiert, was nicht funktioniert. Ich weiß, dass ich verwenden kannIF-ELSE hier, aber frage mich, ob dies erreicht werden kann mitcase statemet

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage