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