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)