Heim >Datenbank >MySQL-Tutorial >Warum schließt die „BETWEEN'-Klausel von MySQL die Obergrenze aus?
MySQLs „Between“-Rätsel: Warum es den Endwert ausschließt
Beim Ausführen einer Abfrage mit der „between“-Klausel können Benutzer auf Folgendes stoßen: ein unerwarteter Ausschluss des Endwerts. Dieses Verhalten wird durch die Abfrage veranschaulicht:
select * from person where dob between '2011-01-01' and '2011-01-31'
die Ergebnisse von „2011-01-01“ bis „2011-01-30“ zurückgibt und Datensätze mit „2011-01-31“ weglässt.
Um dieses Verhalten zu verstehen, schauen wir uns die MySQL-Dokumentation genauer an dass:
"This is equivalent to the expression (min <= expr AND expr <= max) "
In diesem Fall ist das „Min“ „2011-01-01“ und das „Max“ ist „2011-01-31“. Der Ausdruck „(min <= expr AND expr <= max)“ wird für Werte gleich „max“ als falsch ausgewertet, daher wird „2011-01-31“ aus den Ergebnissen ausgeschlossen.
Das obige ist der detaillierte Inhalt vonWarum schließt die „BETWEEN'-Klausel von MySQL die Obergrenze aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!