Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Criteres de requetes en fonction d'une période (année + mois)

7 réponses
Avatar
ronando29
Bjr =E0 tous,

J'ai un petit souci, j'ai une table facture (n=B0,montant,annee,mois)

je laisse le choix a l'utilisateur d'afficher les factures entre une
p=E9riode : ann=E9e debut, mois d=E9but et ann=E9e fin, mois fin

exemple : les factures de novembre 2004 =E0 decembre 2005

Comment faire pour g=E9n=E9rer les bons mois ?

car forcement les crit=E8res ci dessous ne fonctionnent pas :
AND ANNEE >=3D 2004 AND ANNEE <=3D 2005
AND MOIS >=3D 11 AND MOIS <=3D 12

merci

7 réponses

Avatar
nwjb
Le Fri, 24 Feb 2006 10:13:14 +0100, a écrit:

Bjr à tous,

J'ai un petit souci, j'ai une table facture (n°,montant,annee,mois)

je laisse le choix a l'utilisateur d'afficher les factures entre une
période : année debut, mois début et année fin, mois fin

exemple : les factures de novembre 2004 à decembre 2005

Comment faire pour générer les bons mois ?

car forcement les critères ci dessous ne fonctionnent pas :
AND ANNEE >= 2004 AND ANNEE <= 2005
AND MOIS >= 11 AND MOIS <= 12

merci




Concaténer année+mois et faire between

--
J.Bratières

Enlever paspub pour répondre
Please remove paspub when answering
Avatar
ronando29
j'ai pas rechercher la méthode pr concatener ca aurait surement
fonctionner mais une autre solution :

AND (ANNEE = 2004 AND MOIS >= 11)
OR (ANNEE = 2005 AND MOIS <)
Avatar
nwjb
Le Fri, 24 Feb 2006 10:57:00 +0100, a écrit:

j'ai pas rechercher la méthode pr concatener ca aurait surement
fonctionner mais une autre solution :

AND (ANNEE = 2004 AND MOIS >= 11)
OR (ANNEE = 2005 AND MOIS <)



Ne marche pas si concerne plusieurs années ( Annee =)


--
J.Bratières

Enlever paspub pour répondre
Please remove paspub when answering
Avatar
ronando29
En fait ca ne fonctionne pas si cela concerne la meme année..

Comment fonctionne le concatenation dans une requete SQL ? (sgbd :
mysql)
Avatar
ronando29
SELECT *
FROM FACTURE
WHERE CONCAT(ANNEE,MOIS) >= 200503
AND CONCAT(ANNEE,MOIS) <= 200510

pour toutes les factures allant de mars 2005 a octobre 2005 mais ca ne
fonctionne pas car dans ma colonne MOIS pour le mois de mars c'est "3"
et non "03"

...
Avatar
nwjb
Le Thu, 02 Mar 2006 16:23:56 +0100, a écrit:

SELECT *
FROM FACTURE
WHERE CONCAT(ANNEE,MOIS) >= 200503
AND CONCAT(ANNEE,MOIS) <= 200510

pour toutes les factures allant de mars 2005 a octobre 2005 mais ca ne
fonctionne pas car dans ma colonne MOIS pour le mois de mars c'est "3"
et non "03"

...



en vrai sql: LPAD(mois,2,'0')


--
J.Bratières

Enlever paspub pour répondre
Please remove paspub when answering
Avatar
ronando29
merci je ne connaissais pas la fonction LPAD(), cela fonctionne
parfaitement !