Bonjour,
J'ai un problème de gestion de date dans une requete sur base MySQL 4.1.9.
Je voudrais sélectionner les enreg. dont le champ DATEFIN (type DATE) est
plus grand que la date du jour.
Avec l'accès natif WD la requete suivante ne me retourne rien, alors qu'avec
MySQL Control Center c'est OK
Voici mon code:
SELECT
documlg.DESIGNATION,documlg.DATEDEB
FROM
documlg
WHERE documlg.NUMGRP = 120
AND documlg.DATEFIN > DATE_FORMAT(CURRENT_DATE,'%Y%m%d')
J'ai essayé aussi avec
AND documlg.DATEFIN > CURRENT_DATE
sans plus de succès avec WD12 (fonctionne avec MySQL Control Center)
Comment peut on tester une date par rapport à la date du jour ?
Nota: pour mes tests, le champ DATEFIN contient '9999-12-31'
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
I.G.LOG
J'ai essayé cette requete avec SQLExec(...). elle me renvoit bien les lignes voulues. Cette requete est une requete initialisée avec iInitRequeteEtat(), et dans ce cas elle ne marche pas. J'ai décidemment beaucoup de problèmes avec les requetes paramétrées. Je continue à chercher Encore merci
J'ai essayé cette requete avec SQLExec(...). elle me renvoit bien les lignes
voulues.
Cette requete est une requete initialisée avec iInitRequeteEtat(), et dans
ce cas elle ne marche pas.
J'ai décidemment beaucoup de problèmes avec les requetes paramétrées.
Je continue à chercher
Encore merci
J'ai essayé cette requete avec SQLExec(...). elle me renvoit bien les lignes voulues. Cette requete est une requete initialisée avec iInitRequeteEtat(), et dans ce cas elle ne marche pas. J'ai décidemment beaucoup de problèmes avec les requetes paramétrées. Je continue à chercher Encore merci
I.G.LOG
Effectivement, impossible que cette requete paramétrée fonctionne. Avez vous une idée du problème ?
Voici le code complet:
SELECT docum.IDDOCUM,docum.DATEDOC,docum.REFDOC,docum.RAISON, action.DESTINATAIRE, documlg.DESIGNATION,documlg.DATEDEB FROM action,docum,documlg,tiers WHERE action.DESTINATAIRE = {pNumSoc} AND docum.IDDOCUM = action.IDDOCUM AND docum.IDTYPE = {pTypeDoc} AND docum.RAISON BETWEEN {pDe} AND {pA} AND docum.CODEPOST LIKE {pCP}% AND tiers.TIERSETAT = {pType} AND tiers.IDTIERSFAM = {pCat} AND tiers.IDTIERS = docum.IDTIERS AND documlg.IDDOCUM = docum.IDDOCUM AND documlg.NUMGRP = 120 AND documlg.DATEFIN > CURRENT_DATE ORDER BY RAISON,IDDOCUM
NOTA: le problème vient bien du test sur la date du jour
AND documlg.DATEFIN > CURRENT_DATE
puisque sans cette ligne tout est ok
Encore merci
Effectivement, impossible que cette requete paramétrée fonctionne.
Avez vous une idée du problème ?
Voici le code complet:
SELECT
docum.IDDOCUM,docum.DATEDOC,docum.REFDOC,docum.RAISON,
action.DESTINATAIRE,
documlg.DESIGNATION,documlg.DATEDEB
FROM
action,docum,documlg,tiers
WHERE
action.DESTINATAIRE = {pNumSoc}
AND docum.IDDOCUM = action.IDDOCUM
AND docum.IDTYPE = {pTypeDoc}
AND docum.RAISON BETWEEN {pDe} AND {pA}
AND docum.CODEPOST LIKE {pCP}%
AND tiers.TIERSETAT = {pType}
AND tiers.IDTIERSFAM = {pCat}
AND tiers.IDTIERS = docum.IDTIERS
AND documlg.IDDOCUM = docum.IDDOCUM
AND documlg.NUMGRP = 120
AND documlg.DATEFIN > CURRENT_DATE
ORDER BY RAISON,IDDOCUM
Effectivement, impossible que cette requete paramétrée fonctionne. Avez vous une idée du problème ?
Voici le code complet:
SELECT docum.IDDOCUM,docum.DATEDOC,docum.REFDOC,docum.RAISON, action.DESTINATAIRE, documlg.DESIGNATION,documlg.DATEDEB FROM action,docum,documlg,tiers WHERE action.DESTINATAIRE = {pNumSoc} AND docum.IDDOCUM = action.IDDOCUM AND docum.IDTYPE = {pTypeDoc} AND docum.RAISON BETWEEN {pDe} AND {pA} AND docum.CODEPOST LIKE {pCP}% AND tiers.TIERSETAT = {pType} AND tiers.IDTIERSFAM = {pCat} AND tiers.IDTIERS = docum.IDTIERS AND documlg.IDDOCUM = docum.IDDOCUM AND documlg.NUMGRP = 120 AND documlg.DATEFIN > CURRENT_DATE ORDER BY RAISON,IDDOCUM