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.
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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())
Partager