Comment utiliser evalinsert sur une requête SQL ?Salut tout le monde,
J'essaie d'interroger en utilisant une liste et une variable. Cependant, je n'arrive pas à comprendre comment interroger la variable dateNow. Je continue à avoir cette erreur :
Une erreur s'est produite lors de la tentative d'exécution d'une requête : [SQLState 42601] ERREUR : erreur de syntaxe à ou près de "00"
LIGNE 4 : et test_date_time entre le 12/03/2024 00:00:00 et le 12/03/...
Voici mon exemple de script :
namecol= {"James", "John", "Anna", "Rose")
dateNow = "03/12/2024"
eval(parse(evalinsert("\[
dt_qst = Try ( Open Database( "DSN=dbs;UID=uname;PWD=pw;APP=JMP;DATABASE=db;",
"select name, age, address, test_date_time
from db
where name in (^namecol^)
and test_date_time between ^dateNow^ 00:00:00 AM and ^dateNow^ 11:59:59 PM'",
"rawdata") )
]\")));;Automatisation et scriptsles fenêtresRe : Comment utiliser evalinsert sur une requête SQL ?Il y a de nombreuses petites fautes de frappe dans votre script qui l'empêchent de fonctionner. En dehors de cela, vous devez utiliser Concat Items pour passer d'une liste à une chaîne. Également pour faciliter un peu le débogage, créez votre chaîne de requête en dehors d'Open Database, puis utilisez cette nouvelle chaîne à l'intérieur.
Names Default To Here(1);
namecol= {"James", "John", "Anna", "Rose"};
dateNow = "03/12/2024";
sql_template = "\[
select
name,
age,
address,
test_date_time
from db
where
name in ('^namestr^')
and test_date_time between ^dateNow^ 00:00:00 AM and ^dateNow^ 11:59:59 PM'
]\";
namestr = Concat Items(namecol, "', '");
sql_str = Eval Insert(sql_template);
Je pense aussi que cette question a déjà reçu une réponse deux fois
Comment ignorer un élément de la liste JSL dans une requête SQL s'il n'existe pas ? et Comment interroger en SQL en utilisant la liste de JSL
Re: Comment utiliser evalinsert sur une requête SQL ?Oui, mais je ne comprends pas pourquoi je continue à recevoir cette erreur
Une erreur s'est produite lors de l'exécution d'une requête : [SQLState 42601] ERREUR : erreur de syntaxe à proximité de « 00 »
LIGNE 10 : et test_date_time entre le 03/12/2024 00:00:00 et le 03/12...