Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'essaye de récupérer le contenu d'une variable globale de type date dans une requête dans tDBInput mais je me heurte à un problème de syntaxe que je n'arrive à solutionner.
Voici ma requete :
"SELECT DATE,UPPER(LEFT(LIB_SEMAINE,2)) AS CAL_LIB_JRS_SEMAINE FROM CALENDRIER
WHERE DATE >= ' "+ (Date)globalMap.get("EXPL_DAT") +" ' and DATE < DATEADD(Day, 8, ' "+ (Date)globalMap.get("EXPL_DAT") + " ')"
Merci de votre aide
Bonjour ,
Tente ta requête comme ceci :
Soit 1)
"SELECT DATE,UPPER(LEFT(LIB_SEMAINE,2)) AS CAL_LIB_JRS_SEMAINE FROM CALENDRIER
WHERE DATE >= ' "+ TalendDate.formatDate("yyyy-MM-dd", (Date)globalMap.get("EXPL_DAT")) +" ' and DATE < DATEADD(Day, 8, ' "+ TalendDate.formatDate("yyyy-MM-dd", (Date)globalMap.get("EXPL_DAT")) + " ')"
Soit 2)
Mettre en variable de contexte et l'utiliser dans ta requête ainsi TalendDate.formatDate(“example_date_format”, context.EXPL_DAT)
Cordialement
Je ne sais pas pourquoi mon WHERE dans mon post est passé à où ! mais dans ma requête c'est bien un WHERE
Bonjour ,
Tente ta requête comme ceci :
Soit 1)
"SELECT DATE,UPPER(LEFT(LIB_SEMAINE,2)) AS CAL_LIB_JRS_SEMAINE FROM CALENDRIER
WHERE DATE >= ' "+ TalendDate.formatDate("yyyy-MM-dd", (Date)globalMap.get("EXPL_DAT")) +" ' and DATE < DATEADD(Day, 8, ' "+ TalendDate.formatDate("yyyy-MM-dd", (Date)globalMap.get("EXPL_DAT")) + " ')"
Soit 2)
Mettre en variable de contexte et l'utiliser dans ta requête ainsi TalendDate.formatDate(“example_date_format”, context.EXPL_DAT)
Cordialement
Bonjour Dave_Simo, merci pour ta proposition, je vais tester ta solution 🙂
Let suppose you have to execute the query below:
SELECT DATE,UPPER(LEFT(LIB_SEMAINE,2)) AS CAL_LIB_JRS_SEMAINE FROM CALENDRIER
WHERE DATE >= '2024-12-13' and DATE < DATEADD(Day, 8, '2024-12-13')
You can do it:
1) Using Java code: globalMap.put("EXPL_DAT", "2024-12-13");
2) Using tSetGlobalVar: "EXPL_DAT", "2024-12-13"
Then you have to use in query parameter of tMSSQLInput component:
"SELECT DATE,UPPER(LEFT(LIB_SEMAINE,2)) AS CAL_LIB_JRS_SEMAINE FROM CALENDRIER
WHERE DATE >= '" + (String)globalMap.get("EXPL_DAT") + "' and DATE < DATEADD(Day, 8, '" + (String)globalMap.get("EXPL_DAT") + "')"
Otherwise you can put in globalMap a date data type, in this case you will have the Dave_Simo's case.
If you want to use a context variable you will have two options:
- define a String data type:
"SELECT DATE,UPPER(LEFT(LIB_SEMAINE,2)) AS CAL_LIB_JRS_SEMAINE FROM CALENDRIER
WHERE DATE >= '" + context.EXPL_DAT + "' and DATE < DATEADD(Day, 8, '" + context.EXPL_DAT + "')"
- define a Date data type is analogue applying Dave_Simo's case.
Bonjour Dave_Simo,
Ta proposition fonctionne très bien.
Merci bcp 🙂
Bonjour Fcolagiacomo, merci pour ta proposition, mon problème est résolu avec TalendDate.formatDate("yyyy-MM-dd", (Date)VariableGlobal))
Bonne journée