Vérifier si le nombre Entier est compris dans une plage de valeurs de la colonne
Considérons le tableau suivant schéma:
----------------------------------
| ID | MinValue | MaxValue |
----------------------------------
| 1 | 0 | 10 |
| 2 | 11 | 20 |
| 3 | 21 | 30 |
Je veux être en mesure de passer à un entier, et de retourner la carte d'identité où cette valeur correspond à l'intervalle entre les valeurs Min et Max.
Par exemple:
Input = 17
Output = 2
Input = 4
Output = 1
Input = 26
Output = 3
Je pensais que je pouvais faire quelque chose comme:
SELECT ID FROM MyTable WHERE MinValue >= @input AND MaxValue <= @input
Mais ça ne fonctionne pas, rien n'est renvoyé.
Je suis sûr que la solution est manifestement simple, mais je suis perplexe.
Quelle est la meilleure façon d'atteindre cet objectif dans SQL Server?
...
Proximité:
where @input between MinValue and MaxValue
.Proximité:
MinValue <= @input AND MaxValue >= @input
OriginalL'auteur Dan | 2015-03-19
Vous devez vous connecter pour publier un commentaire.
essayer cette
DESCRIPTION de ENTRE
SQL
BETWEEN
Condition est utilisée pour récupérer des valeurs dans une plage dans unSELECT
,INSERT
,UPDATE
, ouDELETE
déclaration.SYNTAXE
La syntaxe de SQL
BETWEEN
Condition est:expression
BETWEEN value1 AND value2
;Paramètres ou Arguments
expression est une colonne ou d'un calcul.
value1
etvalue2
création d'un large éventail à cette expression par rapport à.NOTE
SQL
BETWEEN
Condition sera de retour les enregistrements où l'expression est dans la gamme devalue1
etvalue2
(inclus).ref: http://www.techonthenet.com/sql/between.php
ou vous pouvez également l'utiliser comme
OriginalL'auteur Imran Ali Khan
Essayer cela,
Ou de retourner l'égalité des signes dans votre déclaration.
OriginalL'auteur rhholt
Utilisation ENTRE
OriginalL'auteur Matt