Clause where avec la date d'hier
Bonjour à toutes et tous,
Je cherche à faire une comparaison avec la date de la veille dans ma clause where mais je n'y parvient pas.
J'ai testé plusieurs solution comme :
WHERE CAST (A.DSECS||A.DSECA||'-'||A.DSECM||'-'||A.DSECJ AS DATE)=DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY).
ou
WHERE CAST (A.DSECS||A.DSECA||'-'||A.DSECM||'-'||A.DSECJ AS DATE)=DATE_SUB(DATE(NOW()), INTERVAL 1 DAY).
Ce qui me retourne une erreur [sql0104] Element syntaxique 1 n'est pas correct. Elément possible : ),.
ou
WHERE CAST (A.DSECS||A.DSECA||'-'||A.DSECM||'-'||A.DSECJ AS DATE)=DATEADD(DD,-1,GETDATE()).
Ce qui me retourne une erreur [sql0204] GETDATE de type *N dans *LIBL non trouvé.
J'ai cru comprendre qu'il s'agit d'un problème de typage.
Je vous mets ma requête pour les bonnes âmes qui voudront bien se pencher sur mon dilemme.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| SELECT DISTINCT(A.NOBON) AS NOBON,
A.NOCLI AS NOCLI,
A.NOMSB AS NOMCLI,
A.DSECJ||'/'||A.DSECM||'/'||A.DSECS||A.DSECA AS DATECREA,
A.DLJSB||'/'||A.DLMSB||'/'||A.DLSSB||A.DLASB AS DATELIV,
A.LIVSB AS VENDEUR,
A.TOUSB AS TOURNEE,
A.REPSB AS ATC,
B.NOLIG AS NOLIG,
B.CODAR AS CODAR,
B.DS1DB||' '||B.DS2DB||' '||B.DS3DB AS DESIGNATION,
B.QTTAR AS QUANTITE,
B.LUNTA AS UNITE,
B.PRINE AS PRIX_NET,
B.MONHT AS MONTAT_HT,
B.CONSA AS COMMENTAIRE
FROM AENTBOP1 A INNER JOIN ADETBOP1 B ON A.NOCLI=B.NOCLI AND A.NOBON=B.NOBON
WHERE A.LIVSB='WEB'
AND CAST (A.DSECS||A.DSECA||'-'||A.DSECM||'-'||A.DSECJ AS DATE)=DATEADD(DD,-1,GETDATE()) |
Merci d'avance.