ndaseraphin
Messages postés74Date d'inscriptionlundi 29 août 2005StatutMembreDernière intervention 1 février 2012
-
3 mai 2010 à 14:11
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
4 mai 2010 à 01:05
slt à tous,
j'ai fais une concaténation du mois et de l'année de ma table PAIEMENT, mais le résultat sorti n'est pas juste.:
voici mon code:
[b]select * from PAIEMENT where
concat(concat(MOIS,'/'),ANNEE)>='1/2000' and
concat(concat(MOIS,'/'),ANNEE)<='4/2000'/b
Le resultat me sort des mois tels que 4,2,10,12,........... et des années telles que 2009,2004,2006,....
s'il vous plaît aider moi, je suis vraiment coincé.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 3 mai 2010 à 17:18
Salut
Concat : connait pô
Même question : Quelle base de données ?
Mais aussi : Quel moteur de connexion ? DAO ? ADO ?
Mais comme le dit Dark, comparer des chaines de caractères n'est jamais la solution puisque la comparaison se fera sur les lettres qui la compose : "200" sera toujours inférieur à "88" (parce 2 est avant 8 dans la table ASCII)
Tu pourrais passer par les vrais types de variable : Date.
Vois comment transformer la chaine issue de tes "Concat" en date dans l'aide de ton SQL.
Mais le format MM/YYYY risque de poser des problèmes.
Je pense qu'il faudra que tu y ajoutes au moins un numéro de jour "01" à chaque date pour être viable.
De plus, il faudra encadrer la date de comparaison, 1/2000 ou 4/2000, par des # et pas des '.
Voir aussi la fonction SQL "Between"
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 4 mai 2010 à 01:05
"Mon problème n'est toujours pas résolu"
Et qu'as-tu essayé avec les indications qu'on t'a données ?
Voir instructions SQL "Convert" et "Between", mais on ne fera pas le programme a ta place pour la bonne et simple raison, c'est qu'on n'a pas la connexion Oracle à notre disposition.