2010-08-18 13 views

Répondre

2

Sera retourné toutes les lignes si diplomaPercentage n'est pas spécifiée (par exemple passé nul), dans d'autres cas seront être retourné lignes où diploma_percentage plus ou égal @diplomaPercentage. :)

1

@diplomaPercentage est une variable.

@diplomaPercentage est nul est de vérifier si la variable est NULL ou non et

diploma_percentage> = @ diplomaPercentage est de vérifier si la valeur de la colonne diploma_percentage est supérieure ou égale à la valeur variable de

1

Si vous donnez une valeur nulle pour @diplomapercentage puis il retournera tous les enregistrements, sinon il ne retournera que les enregistrements avec une valeur diploma_percentage supérieure ou égale à celle que vous fournissez.

1

Si aucune valeur pour @diplomaPercentage est transmit il retournera toutes les lignes, sinon elle retournera toutes les lignes où diploma_percentage est supérieure à @diplomaPercentage si une valeur a été adoptée en

2

Ce genre de condition est généralement utilisé pour éviter le "SQL dynamique", mais il rend le code moche et ironique peut entraîner des performances moins bonnes par rapport à l'utilisation de SQL dynamique. Vous pouvez en lire plus à ce sujet à:

http://www.sommarskog.se/dyn-search-2005.html

+0

Alors quel est le suppléant d'écrire cette requête? Veuillez coder un bit ... – NoviceToDotNet

+0

Dans la procédure stockée, il suffit d'utiliser IF..ELSE pour générer l'instruction SQL, puis l'envoyer à EXEC. Avez-vous lu l'article que j'ai posté? – sayap

+0

mais la mienne n'est pas stockée procédure c'est une simple requête paramétrée où je passe l'objet dictionnaire sous forme de NoviceToDotNet

Questions connexes