Problème de script de requête SQL avec le format de dateBonjour,
Je suis un débutant sur JSL. Je mélange un script avec une requête SQL. Ma requête conditionnée par deux date. Mais quand je le lance, l'assignation de ma date ne fonctionne pas. Le champ avec la date est _TIMESTAMP et le format de la date est aaaa-mm-jj hh:mm:ss. Lorsque je l'exécute avec les dates à l'intérieur de la requête, cela fonctionne bien sûr. J'ai besoin de ce script car je dois faire la même chose pour de nombreuses tables.
Voici le script :
RunScript= Expr(
sql_statement=evalinsert("SELECT * FROM table_SQL WHERE _TIMESTAMP >= '^start^' AND _TIMESTAMP < '^end^' ");
start=(2021-12-15 00:00:00);
end=(2021-12-18 00:00:00);
Open Database("Driver=§§§§§§§§§§§§§§§§§§§§§§§§",
sql_statement,"table_name_1"));J'ai aveuglé les paramètres de connexion sql.
Sincères amitiés,
Scriptles fenêtresRe : Problème de script de requête SQL avec le format de dateBienvenue dans la communauté @Teissduc16 ,
Quelques petites choses qui pourraient aider :
- Vous voudrez probablement définir start et end avant de les utiliser dans la ligne eval insert().
- Pour vous assurer que la date s'affiche dans un format que SQL comprend, vous souhaiterez probablement formater les dates sous forme de chaînes avant de les mettre dans l'instruction sql
Voici un exemple:
start=("2021-12-15 00:00:00");
end=format(date dmy(1,1,2021), "yyyy-mm-dd hh:mm:ss");
sql_statement=evalinsert("SELECT * FROM table_SQL WHERE _TIMESTAMP >= '^start^' AND _TIMESTAMP < '^end^' ");
show(sql_statement);Re : Problème de script de requête SQL avec le format de datesql_statement générera une erreur si vous n'avez pas défini le début et la fin avant l'instruction d'insertion eval, modifiez également le début et la fin en chaînes
Names Default To Here(1);
//this will error because it is before start and end variable definition
//sql_statement=evalinsert("SELECT * FROM table_SQL WHERE _TIMESTAMP >= '^start^' AND _TIMESTAMP < '^end^' ");
start = "2021-12-15 00:00:00";
end = "2021-12-18 00:00:00";
sql_statement=evalinsert("SELECT * FROM table_SQL WHERE _TIMESTAMP >= '^start^' AND _TIMESTAMP < '^end^' ");
show(sql_statement);
//sql_statement = "SELECT * FROM table_SQL WHERE _TIMESTAMP >= '2021-12-15 00:00:00' AND _TIMESTAMP < '2021-12-18 00:00:00' ";