Format de la date retourné par dateAdd() ? [Résolu]

Messages postés
65
Date d'inscription
mercredi 6 avril 2011
Statut
Membre
Dernière intervention
9 janvier 2012
- - Dernière réponse : aieeeuuuuu
Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
- 20 mai 2011 à 14:03
Bonjour,

je travail sur MS SQL Server, et je souhaite exécuter des requêtes avec un WHERE sur la date ...

ce que je veux, c'est d'avoir les lignes qui ont la date = la date du mois dernier, sachant que les dates ont la format (YYYY,MM,JJ HH:MM:SS.mSmSmS) et que le jour est fixé sur 01.

j'ai utilisé cette méthode, mais je me demande si il existe une méthode plus simple et professionnelle !

convert(varchar(10),convert(datetime,'01-'
+convert(varchar(2),datepart(mm,DATEADD(month,-1,getdate())))+'-'
+convert(varchar(4),datepart(year,getdate()))),105)

Merci.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
3
Merci
Bonjour,

Oui, il existe une méthode plus professionelle pour filtrer les lignes "du mois dernier" :

SELECT MesColonnes
FROM MaTable
WHERE MaColonneDate >= DATEADD(
    MONTH, 
    DATEDIFF(MONTH, 0, GETDATE()) - 1
    , 0)
AND
    MaColonneDate < DATEADD(
    MONTH, 
    DATEDIFF(MONTH, 0, GETDATE()) 
    , 0)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 219 internautes nous ont dit merci ce mois-ci

Commenter la réponse de aieeeuuuuu
Messages postés
65
Date d'inscription
mercredi 6 avril 2011
Statut
Membre
Dernière intervention
9 janvier 2012
0
Merci
désolé, en fait voilà la méthode que j'utilise (ce n'est celle au dessus) :
convert(datetime,'01-'
+convert(varchar(2),datepart(mm,DATEADD(month,-1,getdate())))+'-'
+convert(varchar(4),datepart(year,getdate())))
Commenter la réponse de yosboss