Kann ich hinzufügen, wenn klausel in wo klausel

Im gespeicherten Verfahren habe ich:

@parameter int 

basierend auf diesem Parameter bekomme ich einige data, die es -1 oder größer als 0 sein kann.

Problem ist, dass, wenn es -1 ist Ich möchte nicht, dass dieser Parameter in wo Klausel überhaupt.

Also, was ich versuche zu tun ist so etwas wie:

 IF @parameter = -1 THEN WHERE ... ELSE where ... AND Column = @parameter 

Aber das geht nicht.

Normalerweise würden Sie diese Einschränkung so anwenden:

 WHERE [...] AND (@parameter = -1 OR Column = @parameter) 
 where @parameter != - 1 AND Column = @parameter 

Der Unterschied zwischen Dan J und meiner Antwort ist, dass nichts passend ist, wenn @parameter -1 ist. Dan J gibt alles zurück und ist das Verhalten, das du wahrscheinlich willst.