Maison >base de données >tutoriel mysql >Pourquoi est-ce que je reçois uniquement les données des cinq derniers jours alors que ma requête demande spécifiquement les sept derniers ?

Pourquoi est-ce que je reçois uniquement les données des cinq derniers jours alors que ma requête demande spécifiquement les sept derniers ?

DDD
DDDoriginal
2024-10-29 06:38:02266parcourir

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

Récupération de l'efficacité des données des 7 derniers jours

Lors du transfert de données de SQL Server vers MySQL, il est essentiel de filtrer uniquement les données pertinentes. Dans ce cas, l'extraction des données des sept derniers jours est cruciale. Cependant, une requête SQL fournie a donné des résultats inattendus.

Problème : données manquantes

La requête, qui utilisait GETDATE()-7 AND GETDATE() pour filtrer les données, n'a récupéré que cinq jours de résultats. Cet écart nécessite une exploration.

Solution : calcul correct de la date

Pour SQL Server, GETDATE() renvoie la date et l'heure actuelles. Cependant, le calcul il y a sept jours nécessite un ajustement pour tenir compte des fuseaux horaires et de l’heure d’été. Pour résoudre ce problème, DATEADD(day,-7, GETDATE()) est utilisé. DATEADD() ajoute un nombre spécifié de jours (dans ce cas, -7) à la date actuelle, garantissant une récupération précise des données jusqu'aux sept derniers jours complets.

Par conséquent, la requête corrigée doit être :

<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>

Cette requête modifiée capturera efficacement les sept jours de données souhaités et résoudra l'écart rencontré précédemment.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn