Saya menganggap Anda menginginkan beberapa perilaku dinamis di WHERE Anda klausa, tanpa harus membangun . secara dinamis WHERE klausa.
Dengan satu parameter, Anda dapat menggunakan ISNULL (atau COALESCE ) seperti ini:
SELECT * FROM Table WHERE ID = ISNULL(@id, ID)
yang memungkinkan NULL parameter untuk mencocokkan semua. Beberapa lebih suka yang lebih panjang tetapi lebih eksplisit:
SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)