Ich nehme an, Sie möchten ein dynamisches Verhalten auf Ihrem WHERE -Klausel, ohne dynamisch erstellen zu müssen Ihr WHERE Klausel.
Mit einem einzigen Parameter können Sie ISNULL verwenden (oder COALESCE ) so:
SELECT * FROM Table WHERE ID = ISNULL(@id, ID)
was einen NULL erlaubt Parameter, um alle abzugleichen. Einige bevorzugen das längere, aber deutlichere:
SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)