Salut tout le monde,
J'ai des difficultés avec une requête SQL. Mon objectif est d'utiliser des dates définies par l'utilisateur à partir de la fonction calendar box() pour modifier chaque requête sql afin d'extraire des données entre ces plages de dates. Voici le code de la calenderbox :
Cancel = "0";
New Window( "ZFG Cycle Start Date",
<<Modal,
cal1 = Calendar Box(),
cal1 << Show Time(0);
Button Box( "OK", cal2 = cal1 << get date;),
Button Box( "Cancel", Cancel = "1") );
cal3 = MDYHMS(cal2);
If(Cancel =="1", Stop());
New Window( "ZFG Cycle End Date",
<<Modal,
cal4 = Calendar Box(),
cal4 << show time(0);
Button Box( "OK", cal5 = cal4 <<get date;),
Button Box( "Cancel", Cancel = "1") );
If(Cancel =="1", Stop());
cal6 = mdyhms(cal5);
Et ceci est mon code pour la requête SQL. J'ai mis en évidence où le code se décompose:
sql_script = evalinsert(
"SELECT *
FROM OHT_MOVES_FLATFILE
Where day <= To_Date('^cal6^', 'M/D/Y')
and day >= To_Date('^cal3^', 'MDY')
and vehicle_type = 'FOUP'
and dst_tool= ANY('ZFG1_17C01','ZFG1_17C02', 'ZFG1_17W01', 'ZFG_17W02')
and rownum <100000
Order by request_time");Cela fonctionne bien lorsque je saisis une date manuellement dans ce format :
day <= To_Date('07/17/2017', 'MM/DD/YYYY')
En utilisant la variable de la calenderbox(), renvoie l'une des erreurs suivantes en fonction de la façon dont j'ai essayé de la configurer. La variable de la boîte de calendrier renverra la date dans ce format : "17/07/2017 14:07:14"
[Oracle][ODBC][Ora]ORA-01843: not a valid month
[Oracle][ODBC][Ora]ORA-01830: date format picture ends before converting entire input string
Toutes les recommandations que vous avez seraient appréciées
Vous devrez couper l'horodatage de votre date pour qu'Oracle le traite correctement.
cal3 = substr(MDYHMS(cal2), 1, 10);
cal6 = substr(mdyhms(cal5), 1, 10);
Alternativement, si vous voulez être plus précis, vous pouvez fournir le format de date/heure approprié pour inclure l'heure.