Pour utiliser les dates à partir du mois précédent en fonction de l'heure système actuelle, utilisez DATEADD()
et GETDATE()
.
DATEADD
renvoie une date spécifiée avec l' intervalle de nombre spécifié (entier signé) ajouté à une partie de date spécifiée de cette date.
DATEADD (datepart , number , date )
GETDATE
renvoie l'horodatage système actuel de la base de données sous la forme d'une valeur datetime sans le décalage du fuseau horaire de la base de données. Cette valeur est dérivée du système d'exploitation de l'ordinateur sur lequel l'instance de SQL Server est en cours d'exécution.
GETDATE ( )
Pour calculer les dates qui correspondent au début du mois dernier (rappelez-vous, ceci est un exemple et peut nécessiter une modification avec votre code):
SELECT [col1], [col2], [dt] FROM [table]
WHERE [dt] >= convert(varchar,DATEADD(MONTH,-1,
DATEADD(MONTH,DATEDIFF(MONTH,0,
getdate()),0)),101)
S'il vous plaît, lisez un peu DATEDIFF()
aussi CONVERT()
pour comprendre comment fonctionne la mise en forme représentée par 101
. Vous préférerez peut-être à la 121
place.
(Source supplémentaire: article de Terry Apodaca, «Dates SQL - Premier, actuel, dernier jour du mois», qui est passé de cette ancienne adresse
à http://v1.terryapodaca.com/2008/01/28/sql-dates-first -current-dernier-jour-du-mois
(ou vous pouvez lire une copie archivée à la Wayback Machine ).)