Jag antar att du vill ha lite dynamiskt beteende på din WHERE
sats, utan att dynamiskt behöva bygga din WHERE
klausul.
Med en enda parameter kan du använda ISNULL
(eller COALESCE
) så här:
SELECT * FROM Table WHERE ID = ISNULL(@id, ID)
som tillåter en NULL
parameter för att matcha alla. Vissa föredrar det längre men mer explicita:
SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)