Maison > base de données > tutoriel mysql > Comment récupérer efficacement les enregistrements du mois dernier dans SQL Server ?

Comment récupérer efficacement les enregistrements du mois dernier dans SQL Server ?

Barbara Streisand
Libérer: 2025-01-01 10:27:10
original
209 Les gens l'ont consulté

How to Efficiently Retrieve Last Month's Records in SQL Server?

Comment récupérer les enregistrements du mois précédent dans SQL Server

Lorsque vous travaillez avec une table de base de données contenant un champ d'horodatage, il est souvent nécessaire pour récupérer des enregistrements pour une période spécifique, telle que le mois précédent. SQL Server propose différentes méthodes pour y parvenir.

Le problème :

Vous devez extraire les enregistrements en fonction d'une colonne date_created de la table membre où les enregistrements se situent dans la le mois précédent. Par exemple, si la date actuelle est le 3 janvier 2010, vous devrez récupérer les enregistrements du 1er décembre 2009 au 31 décembre 2009.

Le défi :

Certaines solutions existantes rencontrent des problèmes pour ignorer les indices ou sélectionner des données en dehors de la plage prévue.

Le Approche correcte :

Pour éviter ces pièges, l'approche recommandée utilise la comparaison des inégalités pour garantir une récupération précise des données. Voici la requête corrigée :

DECLARE @startOfCurrentMonth DATETIME
SET @startOfCurrentMonth = DATEADD(month, DATEDIFF(month, 0, CURRENT_TIMESTAMP), 0)

SELECT *
FROM Member
WHERE date_created >= DATEADD(month, -1, @startOfCurrentMonth)
AND date_created < @startOfCurrentMonth
Copier après la connexion

Cette méthode calcule le début du mois en cours et utilise la comparaison des inégalités pour inclure les enregistrements du mois précédent uniquement. En utilisant des indices et en évitant les comparaisons inutiles, cette approche fournit des résultats efficaces et précis.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal