Maison > base de données > tutoriel mysql > Comment récupérer efficacement les enregistrements du mois dernier à partir d'une table SQL Server ?

Comment récupérer efficacement les enregistrements du mois dernier à partir d'une table SQL Server ?

Linda Hamilton
Libérer: 2025-01-02 16:29:42
original
162 Les gens l'ont consulté

How to Efficiently Retrieve Last Month's Records from a SQL Server Table?

Récupération des enregistrements du mois dernier dans SQL Server

Problème :

Obtenir les enregistrements de la table de base de données [membre] qui tombe au cours du mois précédent, en fonction de la date_created champ.

Solution :

Pour récupérer efficacement et précisément les enregistrements du mois dernier, nous devons éviter certains pièges et employer l'approche suivante :

  1. Utilisez le filtrage de plages exclusives :

    Au lieu d'utiliser des plages inclusives (par exemple, l'opérateur BETWEEN), utilisez un filtrage de plage exclusif avec l'option > et &Lt ; opérateurs. Cela garantit que les enregistrements du premier et du dernier jour du mois sont inclus.

  2. Calculer les limites du mois :

    Déduisez le début du le mois précédent et le début du mois en cours à l’aide des fonctions de date appropriées. Cela évite les problèmes potentiels causés par des plages de limites supérieures inclusives.

    • Début du mois précédent : DATEADD(month, -1, @startOfCurrentMonth)
    • Début du mois en cours : DATEADD(month , DATEDIFF(mois, 0, CURRENT_TIMESTAMP), 0)
  3. Exemple de requête :

    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 approche garantit que les indices sont utilisés, les données la corruption est évitée et les enregistrements corrects sont récupérés dans le délai spécifié.

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