IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

SQL_Server : getdate mois précédent + cas changement année


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 25
    Points
    25
    Par défaut SQL_Server : getdate mois précédent + cas changement année
    Bonjour,

    Mon objectif est de ramener une date au format YYYY-MM-01
    Pour cela, j'utilise la conversion suivante :
    select CONVERT(datetime, CONVERT(char(7), getdate(), 120)+'-'+'01',120)
    from table;
    Si je l'exécute aujourd'hui, j'obtiens 2009-07-01

    Maintenant en exécutant la requête aujourd'hui, je souhaiterai obtenir le mois précédent : 2009-06-01
    Quelle est la commande me permettant d'obtenir le mois précédent ?
    Et comment gérer le changement d'année ? En effet, si je suis en Janvier 2010, je veux obtenir comme résultat 2009-12-01.

    Vous avez des idées ?
    CL

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 126
    Points : 143
    Points
    143
    Par défaut
    Bonjour,

    La fonction DATEADD gère ce genre de problématique.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Merci beaucoup Erwan1978.

    Si cela peut aider d'autre personne, voici le code :
    select CONVERT(datetime, CONVERT(char(7), dateadd(mm,-1,getdate()), 120)+'-'+'01',120)
    from table;
    ==> getdate()= 2009-07-29 résultat : 2009-06-01


    select CONVERT(datetime, CONVERT(char(7), dateadd(mm,-1,'2010-01-27'), 120)+'-'+'01',120)
    from table;
    ==> 2010-01-27 résultat : 2009-12-01

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/03/2013, 17h18
  2. Mois précédent et mois en cours de l'année N-1
    Par sqltrysh dans le forum SQL
    Réponses: 2
    Dernier message: 14/01/2013, 16h01
  3. Recherche par mois précédent dans formulaire
    Par Alexandr dans le forum Access
    Réponses: 13
    Dernier message: 07/09/2006, 17h19
  4. Réqueter sur les dates du mois précédent.
    Par Bigdeal dans le forum Access
    Réponses: 4
    Dernier message: 08/07/2006, 13h11
  5. Réponses: 4
    Dernier message: 27/04/2006, 09h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo