WHERE
で動的な動作が必要だと思います 動的にビルドする必要のない句 あなたのWHERE
条項。
単一のパラメーターで、ISNULL
を使用できます (またはCOALESCE
)このように:
SELECT * FROM Table WHERE ID = ISNULL(@id, ID)
NULL
を許可します すべてに一致するパラメータ。より長く、より明確なものを好む人もいます:
SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)