„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 16.11.2024
Durchsuche:833

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, hat nur den Wert von fünf Tagen abgerufen 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 lauten:

SELECT id, NewsHeadline as news_headline, NewsText as news_text, state CreatedDate as created_on
FROM News
WHERE CreatedDate >= DATEADD(day,-7, GETDATE())

Diese geänderte Abfrage erfasst effektiv die gewünschten Daten im Wert von sieben Tagen und behebt die zuvor aufgetretene Diskrepanz.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3