|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Bonjour,
Je dois extraire des lignes dans une table qui comporte une colonne date à condition qu'elles soient comprises entre deux valeurs de dates. Ca marche avec la condition : Code :
colonne_date>="valeur1" AND colonne_date<="valeur2" ; En d'autres termes, je veux faire leur comparaison mais que leur année soit la même: je pensais à ajouter : Code :
year(colonne_date)=year(valeur1) AND year(colonne_date)=year(valeur2); Merci de votre aide . Cordialement |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Saluton,
Si je te suis, valeur1 et valeur2 sont des dates de la même année civile, donc les colonnes retenues qui doivent être comprises entre ces deux dates seront forcément de la même année. Au passage j'aurais plutôt formuler cela avec BETWEEN Code sql :
colonne_date BETWEEN "valeur1" AND "valeur2"
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#3 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Bonjour Maljuna,
pas forcément de la même année civile . l'année de la colonne peut différer de celle des deux valeurs. Par exemple : je dois extraire toutes les lignes dont la date est comprises entre le 1er janvier 2011('2011-01-01') et le 30 mars 2011('2011-03-30'). Donc si je mets Code :
colonne_date BETWEEN ('2011-03-30') AND '2011-03-30 Il ne me sortira pas une ligne qui a une date dans une année 2008 ? comme ( '2008-02-24') ou au delà de 2011. => ce que je ne veux pas Et il me sortira bien une ligne comme date égale à la valeur de comparaison '2011-01-01' ? C'est une compréhension de la fonction between par rapport aux opérateurs (<=, >=). cordialement |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Je n'ai rien compris à ton dernier message .
Si tu veux une ligne avec colonne_date comprise entre le 1er janvier 2011('2011-01-01') et le 30 mars 2011('2011-03-30'), il faut faire Code :
colonne_date BETWEEN '2011-01-01' AND '2011-03-30'
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#5 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Bonjour Maljuna
Voilà j'ai compris. Je voulais m'assurer que les bornes sont bien comprises dans l'intervalle; et aussi si une date est dans une autre année différente de 2011, est ce que cette condition va le sortir ? Je vois bien que non car c'est seulement les dates qui auront une année similaire à 2011 qui seront comprises entre les deux valeurs. Merci beaucoup ça passe ! Cordialement et à bientôt. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com