Maison >base de données >tutoriel mysql >Pourquoi la clause « BETWEEN » de MySQL exclut-elle la limite supérieure ?
L'énigme « entre » de MySQL : pourquoi il exclut la valeur de fin
Lors de l'exécution d'une requête à l'aide de la clause « entre », les utilisateurs peuvent rencontrer une exclusion inattendue de la valeur finale. Ce comportement, comme l'illustre la requête :
select * from person where dob between '2011-01-01' and '2011-01-31'
qui renvoie les résultats du '2011-01-01' au '2011-01-30', en omettant les enregistrements avec '2011-01-31'.
Pour comprendre ce comportement, nous approfondissons la documentation MySQL, qui clarifie que :
"This is equivalent to the expression (min <= expr AND expr <= max) "
Dans ce cas, le "min" est le "2011-01-01" et le "max" est le "2011-01-31". L'expression "(min <= expr AND expr <= max)" est évaluée à false pour les valeurs égales à "max", d'où l'exclusion du '2011-01-31' des résultats.
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!