SQL MONTH(DATE())-1

Fermé
chepel - 15 déc. 2008 à 15:55
Droopy_ Messages postés 248 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 17 janvier 2009 - 16 déc. 2008 à 18:45
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

1 réponse

Droopy_ Messages postés 248 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 17 janvier 2009 25
16 déc. 2008 à 04:50
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
0
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
0
Droopy_ Messages postés 248 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 17 janvier 2009 25 > chepel
16 déc. 2008 à 18:45
Alors 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.
0