SQL Server の条件付き WHERE 句
SQL Server では、条件付き WHERE 句を使用して、特定の条件に基づいてさまざまなフィルター条件を指定できます。これは、パラメータまたは変数の値に基づいてクエリ結果からデータを含めたり除外したりする必要がある場合に便利です。
次のシナリオを考えてみましょう:
次の基準に基づいて、[MM] という名前のテーブルからデータを取得したいとします:
最初に使用しようとした CASE ステートメントは、この場合は機能しません。代わりに、次の条件付き WHERE 句を使用できます:
<code class="language-sql">SELECT DateAppr, TimeAppr, TAT, LaserLTR, Permit, LtrPrinter, JobName, JobNumber, JobDesc, ActQty, (ActQty-LtrPrinted) AS L, (ActQty-QtyInserted) AS M, ((ActQty-LtrPrinted)-(ActQty-QtyInserted)) AS N FROM [test].[dbo].[MM] WHERE DateDropped = 0 AND ( (ISNULL(@JobsOnHold, 0) = 1 AND DateAppr >= 0) OR (ISNULL(@JobsOnHold, 0) != 1 AND DateAppr != 0) )</code>
このコード内:
条件付き WHERE 句を使用すると、動的 SQL や if-else ステートメントを含む回避策を使用することなく、より柔軟で動的 SQL クエリを作成できます。条件付き WHERE 句の詳細については、提供された回答にリンクされているドキュメントを参照してください。
以上がSQL Server で条件付き WHERE 句を実装して、パラメーターに基づいてデータをフィルターするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。