Heim  >  Artikel  >  Datenbank  >  Warum erhalte ich nur Daten der letzten fünf Tage, wenn meine Abfrage ausdrücklich nach den letzten sieben Tagen fragt?

Warum erhalte ich nur Daten der letzten fünf Tage, wenn meine Abfrage ausdrücklich nach den letzten sieben Tagen fragt?

DDD
DDDOriginal
2024-10-29 06:38:02199Durchsuche

Why am I only getting data from the last five days when my query specifically asks for the last seven?

Abrufen der Dateneffizienz der letzten 7 Tage

Beim Übertragen von Daten von SQL Server nach MySQL ist es wichtig, nur relevante Daten herauszufiltern. In diesem Fall ist die Extraktion der Daten der letzten sieben Tage von entscheidender Bedeutung. Eine bereitgestellte SQL-Abfrage lieferte jedoch unerwartete Ergebnisse.

Problem: Fehlende Daten

Die Abfrage, die GETDATE()-7 UND GETDATE() zum Filtern von Daten verwendete, rief nur den Wert von fünf Tagen ab der Ergebnisse. Diese Diskrepanz muss untersucht werden.

Lösung: Richtige Datumsberechnung

Für SQL Server gibt GETDATE() das aktuelle Datum und die aktuelle Uhrzeit zurück. Die Berechnung vor sieben Tagen erfordert jedoch eine Anpassung, um Zeitzonen und Sommerzeit zu berücksichtigen. Um dieses Problem zu beheben, wird DATEADD(day,-7, GETDATE()) eingesetzt. DATEADD() fügt dem aktuellen Datum eine bestimmte Anzahl von Tagen (in diesem Fall -7) hinzu und gewährleistet so einen genauen Datenabruf bis zu den letzten sieben vollständigen Tagen.

Daher sollte die korrigierte Abfrage wie folgt lauten:

<code class="sql">SELECT id, NewsHeadline as news_headline, NewsText as news_text, state CreatedDate as created_on
FROM News
WHERE CreatedDate >= DATEADD(day,-7, GETDATE())</code>

Diese modifizierte Abfrage erfasst effektiv die gewünschten Daten im Umfang von sieben Tagen und behebt die zuvor aufgetretene Diskrepanz.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich nur Daten der letzten fünf Tage, wenn meine Abfrage ausdrücklich nach den letzten sieben Tagen fragt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn