MySQL BETWEEN-Syntax
Der BETWEEN-Operator wird in WHERE-Ausdrücken verwendet, um einen Datenbereich zwischen zwei Werten auszuwählen. BETWEEN wird zusammen mit AND verwendet. Die Syntax lautet wie folgt:
WHERE column BETWEEN value1 AND value2 WHERE column NOT BETWEEN value1 AND value2
Normalerweise sollte Wert1 kleiner als Wert2 sein. Wenn BETWEEN der NOT-Operator vorangestellt ist, bedeutet dies das Gegenteil von BETWEEN, d. h. die Auswahl eines Werts außerhalb dieses Bereichs.
ZWISCHEN Instanz
Benutzerdaten mit UID zwischen 2 und 5 auswählen:
SELECT * FROM user WHERE uid BETWEEN 2 AND 5
Abfrageergebnisse wie folgt zurückgeben:
Neben numerischen Typen unterstützt BETWEEN auch Zeichenfolgenbereiche. Im Folgenden werden alle Benutzer ausgewählt, deren Benutzername zwischen a und j liegt (und den einzelnen Buchstaben k/K enthält):
SELECT * FROM user WHERE username BETWEEN 'a' AND 'k'
Zeichenbereiche unterstützen auch chinesische Schriftzeichen, aber im Allgemeinen ergeben sie keinen Sinn.
MySQL BETWEEN-Grenze
Obwohl fast alle Datenbanken den BETWEEN ... AND-Operator unterstützen, behandeln verschiedene Datenbanken BETWEEN ... AND unterschiedlich. In MySQL enthält BETWEEN die Grenzwerte value1 und value2, wie das obige Beispiel der Auswahl von Benutzerdaten mit einer UID zwischen 2 und 5.
Einige Datenbanken enthalten keine Grenzwerte für Wert1 und Wert2 (ähnlich wie > und <), und einige Datenbanken enthalten Wert1, aber nicht Wert2 (ähnlich wie >= und <). Wenn Sie also BETWEEN ... AND verwenden, überprüfen Sie bitte, wie Ihre Datenbank mit BETWEEN-Grenzwerten umgeht.
MySQL BETWEEN Zeit und Datum
BETWEEN AND wird oft verwendet, um Inhalte innerhalb eines Zeit- oder Datumsbereichs abzurufen. Hier sind einige häufige Beispiele für BETWEEN Zeit und Datum:
// int 时间戳格式,查询 2008-08-08 20:00:00 到 2009-01-01 零点之前的数据 SELECT * FROM table WHERE column_time BETWEEN 1218196800 AND 1230739199 // DATE 格式,查询 2008-08-08 到 2009-01-01 零点之前的数据 SELECT * FROM table WHERE column_time BETWEEN '2008-08-08' AND '2009-01-01' // DATETIME 格式,查询 2008-08-08 20:00:00 到 2009-01-01 零点之前的数据 SELECT * FROM table WHERE column_time BETWEEN '2008-08-08 20:00:00' AND '2008-12-31 23:59:59'
Aber um die Daten zum aktuellen Zeitpunkt abzufragen, empfiehlt es sich, den Operator >= zu verwenden:
// DATETIME 格式,查询 2008-08-08 20:00:00 到当前时刻的数据 SELECT * FROM table WHERE column_time >= '2008-08-08 20:00:00'
Es ist ersichtlich, dass gleiche Anforderungen und unterschiedliche Feldtypen unterschiedlich geschrieben werden können. In Bezug auf die Effizienz ist das int-Zeitstempelformat das effizienteste.
Obwohl es sich bei den obigen Beispielen für BETWEEN ausschließlich um SELECT-Abfragen handelt, kann BETWEEN auch in UPDATE, DELETE und anderen SQL-Anweisungen verwendet werden, die WHERE-Ausdrücke anwenden.
MySQL BETWEEN-Datenvergleich
BETWEEN verfügt auch über eine Datenvergleichsfunktion. Die Syntax lautet wie folgt:
expr BETWEEN min AND max
Wenn der Wert von expr expression größer oder gleich ist bis min und kleiner oder gleich max ist der Rückgabewert von BETWEEN 1, andernfalls wird 0 zurückgegeben. Mit dieser Funktion können Sie feststellen, ob ein Ausdruck oder Wert in einem bestimmten Bereich liegt:
// 返回 0 SELECT 1 BETWEEN 2 AND 3 // 返回 1 SELECT 'b' BETWEEN 'a' AND 'c' // 判断日期范围 SELECT 20080808 BETWEEN 20080101 AND 20090101
ZWISCHEN und Operatoren wie =, > Funktionen, aber BETWEEN hat einen höheren Rechenaufwand und ist noch effizienter. Natürlich weist BETWEEN Grenzwertprobleme auf und ist nicht flexibel genug. Daher erfordern unterschiedliche Situationen eine spezifische Behandlung des zu verwendenden Operators.
Das Obige ist der Inhalt von MySQL ZWISCHEN der Verwendung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!