Předpokládám, že chcete nějaké dynamické chování na vašem WHERE klauzule, aniž byste museli dynamicky sestavovat vaše WHERE klauzule.
S jediným parametrem můžete použít ISNULL (nebo COALESCE ) takto:
SELECT * FROM Table WHERE ID = ISNULL(@id, ID)
což umožňuje NULL parametr, aby odpovídal všem. Někteří dávají přednost delšímu, ale jasnějšímu:
SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)