SQL MONTH(DATE())-1

Bonjour,
petite question pour les balèzes que vous êtes. je fais quelques requêtes sur 6 mois glissants en EXCEL via l'importation de données stockées sur une base access afin de produire des tableaux de bord. qu'obtient on au mois de janvier avec une requête contenant
MONTH(DATE())-1 and year(date()) - 1 ? vais avoir une erreur ou obtenir mes datas au mois de décembre 122008 ?
merci d'avance pour vos nombreuses réponses et bonnes fêtes à tous
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. au mois de janvier, MOIS(DATE()) = 1 donc MOIS(DATE()) - 1 = 0
    Si tu veux faire ça proprement, utilise la fonction DATE proprement :

    Si la case B2 contient : =DATE(2008;1;1)
    et la case B3 contient : =DATE(ANNEE(B2);MOIS(B2)-1;JOUR(B2))
    Alors B2 affichera : 01/01/08
    et B3 affichera 01/12/07

    Et si B4 contient =DATE(ANNEE(B2);MOIS(B2);JOUR(B2)-1)
    alors B4 affichera : 31/12/07

    NOTE: J'ai pas testé sur Excel, mais OpenOffice, mais ça doit être pareil.
    1. merci de ta réponse droopy mais cela ne fonctionne pas sous excel qui renvoie un erreur de référence circulaire. ceci dit je ne comprends pas comment B2 pourrait renvoyer l'année précédente par ta formule ! peux tu développer un peu que je cherche dans cette direction
    2. grosse précision . je fais une requete SQL via Excel sur une base Access en liaison de données du type
      SELECT * FROM mydatabase
      WHERE MMM=month(date())-1)
      si ca peut inspirer quelqu'un !
      merci encore
    3. @chepelAlors regarde dans les fonction de gestion de dates de Access. Sur MySQL, tu as les fonctions date_sub et date_add qui te permettent de faire ça.