Heim >Datenbank >MySQL-Tutorial >SQL-Datumsbereichsfilterung: Wann man BETWEEN vs. >= und verwenden sollte
= und " />
In SQL Server 2000 und 2005 sind der BETWEEN-Operator und die Kombination aus „<=" und „>" Operatoren für die Datumsbereichsfilterung weisen unterschiedliche Merkmale auf.
Der BETWEEN-Operator ist eine Kurzsyntax, die den Ausdruck eines Bereichsvergleichs vereinfacht. Die folgenden beiden Abfragen filtern beispielsweise Zeilen basierend auf demselben Ereignisdatumsbereich:
Abfrage 1:
SELECT EventId, EventName FROM EventMaster WHERE EventDate BETWEEN '10/15/2009' AND '10/18/2009'
Abfrage 2:
SELECT EventId, EventName FROM EventMaster WHERE EventDate >= '10/15/2009' AND EventDate <= '10/18/2009'
Trotz ihrer syntaktischen Unterschiede liefern beide Abfragen identische Ergebnisse, was unterstreicht, dass BETWEEN lediglich eine ist Abkürzung der längeren Syntax.
Die Wahl zwischen der Verwendung von BETWEEN und den Zeichen „<=" und „>" Operatoren hängen vom spezifischen Szenario ab:
SELECT EventId, EventName FROM EventMaster WHERE EventDate >= '10/15/2009' AND EventDate < '10/19/2009'
Beim Arbeiten mit DATETIME-Datentypen (im Gegensatz zu DATE) ist es wichtig zu beachten, dass die Der BETWEEN-Operator berücksichtigt auch die Zeitkomponente. Das bedeutet, dass die folgende Abfrage:
EventDate BETWEEN '10/15/2009' AND '10/18/2009'
Zeilen effektiv nach dem Bereich von „2009-10-15 00:00“ bis „2009-10-18 00:00“ filtert und möglicherweise Zeilen ausschließt 18. Oktober 2009.
Um alle Zeilen für den 18. Oktober 2009 einzuschließen, wird die Die Abfrage sollte geändert werden:
EventDate BETWEEN '2009-10-15 00:00' AND '2009-10-18 23:59:59'
Das obige ist der detaillierte Inhalt vonSQL-Datumsbereichsfilterung: Wann man BETWEEN vs. >= und verwenden sollte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!