Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich keine Ergebnisse, wenn ich in MySQL Datensätze auswähle, die älter als 15 Minuten sind?
DateTime-Datensätze finden, die älter als eine bestimmte Zeit sind
In MySQL ist es üblich, Zeilen auszuwählen, in denen eine DateTime-Spalte in einen bestimmten Zeitbereich fällt Aufgabe. Beim Versuch, Datensätze abzurufen, die älter als ein bestimmtes Zeitintervall sind, können jedoch bei einigen Benutzern Probleme auftreten.
Ein solches Problem wird in einer aktuellen Abfrage beschrieben, bei der ein Benutzer versuchte, Datensätze aus einer Spalte „creation_date“ abzurufen mit der Abfrage älter als 15 Minuten waren:
<code class="sql">WHERE creation_date >= DATE_SUB(NOW(), INTERVAL 15 MINUTE)</code>
Überraschenderweise lieferte die Abfrage keine Ergebnisse, obwohl Datensätze vorhanden waren, die den angegebenen Zeitrahmen einhielten. Bei näherer Betrachtung stellte sich heraus, dass die verwendete Bedingung („>=") falsch war. Um Datensätze abzurufen, die älter als 15 Minuten sind, sollte die korrekte Bedingung lauten:
<code class="sql">WHERE creation_date < DATE_SUB(NOW(), INTERVAL 15 MINUTE)</code>
Das „<“ Der Operator stellt sicher, dass der Wert „creation_date“ vor dem angegebenen Zeitbereich liegt, sodass die gewünschten Datensätze abgerufen werden können. Mit dieser Anpassung sollte die Abfrage nun alle Datensätze, die älter als 15 Minuten sind, in der Spalte „creation_date“ genau zurückgeben.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich keine Ergebnisse, wenn ich in MySQL Datensätze auswähle, die älter als 15 Minuten sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!