ホームページ > データベース > mysql チュートリアル > SQL Server のパラメータに基づいて条件付き WHERE 句を実装する方法

SQL Server のパラメータに基づいて条件付き WHERE 句を実装する方法

Patricia Arquette
リリース: 2025-01-18 11:02:09
オリジナル
165 人が閲覧しました

How to Implement a Conditional WHERE Clause Based on a Parameter in SQL Server?

SQL Server の条件付き WHERE 句

質問:

SQL Server で条件付き WHERE 句を作成する方法、特にパラメータ値に基づいて条件が変化する場合はどうすればよいですか?

答え:

条件付き WHERE 句を作成するには、条件を満たすレコードの場合は TRUE、条件を満たさないレコードの場合は FALSE と評価される式を 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 句に次の条件が含まれています:

<code class="language-sql">(ISNULL(@JobsOnHold, 0) = 1 AND DateAppr >= 0) 
OR 
(ISNULL(@JobsOnHold, 0) != 1 AND DateAppr != 0)</code>
ログイン後にコピー

この条件式は、以下を満たすレコードに対して TRUE と評価されます。

  • @JobsOnHold が 1 の場合、DateAppr は 0 以上である必要があります。
  • @JobsOnHold が 1 に等しくない場合、DateAppr は 0 に等しくない必要があります。

この条件式を使用すると、@JobsOnHold パラメーターの値に基づいて、クエリにさまざまな条件を動的に適用できます。これにより、データをフィルタリングする際の柔軟性と制御が向上します。

以上がSQL Server のパラメータに基づいて条件付き WHERE 句を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート