Hola a todos,
Estoy teniendo algunas dificultades con una consulta SQL. Mi objetivo es usar las fechas definidas por el usuario desde la función del cuadro de calendario () para modificar cada consulta de SQL para obtener datos entre esos rangos de fechas. Este es el código para el calendario:
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);
Y este es mi código para la consulta SQL. He resaltado donde el código se descompone:
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");Funciona bien cuando ingreso una fecha manualmente en este formato:
day <= To_Date('07/17/2017', 'MM/DD/YYYY')
Usando la variable del calendario (), devuelve uno de los siguientes errores dependiendo de cómo he intentado configurarlo. La variable de la caja del calendario devolverá la fecha en este formato: "07/17/2017 2:07:14 PM"
[Oracle][ODBC][Ora]ORA-01843: not a valid month
[Oracle][ODBC][Ora]ORA-01830: date format picture ends before converting entire input string
Cualquier recomendación que ustedes tengan será apreciada
Tendrá que cortar la marca de tiempo de su fecha para que Oracle la procese correctamente.
cal3 = substr(MDYHMS(cal2), 1, 10);
cal6 = substr(mdyhms(cal5), 1, 10);
Alternativamente, si desea ser más granular, puede proporcionar el formato de fecha / hora apropiado para incluir la hora.