Maison > base de données > tutoriel mysql > Comment implémenter une clause WHERE conditionnelle basée sur un paramètre dans SQL Server ?

Comment implémenter une clause WHERE conditionnelle basée sur un paramètre dans SQL Server ?

Patricia Arquette
Libérer: 2025-01-18 11:02:09
original
164 Les gens l'ont consulté

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

Clause WHERE conditionnelle dans SQL Server

Question :

Comment créer une clause WHERE conditionnelle dans SQL Server, en particulier lorsque la condition change en fonction des valeurs des paramètres ?

Réponse :

Pour créer une clause WHERE conditionnelle, vous pouvez utiliser une expression dans la clause WHERE qui est évaluée à TRUE pour les enregistrements qui satisfont à la condition et à FALSE pour les enregistrements qui ne la satisfont pas. Considérez la requête suivante :

<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>
Copier après la connexion

Dans cette requête, la clause WHERE contient les conditions suivantes :

<code class="language-sql">(ISNULL(@JobsOnHold, 0) = 1 AND DateAppr >= 0) 
OR 
(ISNULL(@JobsOnHold, 0) != 1 AND DateAppr != 0)</code>
Copier après la connexion

Cette expression conditionnelle est évaluée à VRAI pour les enregistrements qui satisfont :

  • Si @JobsOnHold est égal à 1, alors DateAppr doit être supérieur ou égal à 0.
  • Si @JobsOnHold n'est pas égal à 1, alors DateAppr ne doit pas être égal à 0.

En utilisant cette expression conditionnelle, vous pouvez appliquer dynamiquement différentes conditions à la requête en fonction de la valeur du paramètre @JobsOnHold. Cela permet une plus grande flexibilité et un plus grand contrôle lors du filtrage des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal