如何在 SQL 查询上使用 evalinsert?大家好,
我正在尝试使用列表和变量进行查询。但是,我不知道如何查询 dateNow 变量。我不断收到此错误:
尝试执行查询时发生错误:[SQLState 42601] 错误:“00”处或附近存在语法错误
第 4 行:test_date_time 介于 03/12/2024 00:00:00 AM 和 03/12/...
这是我的示例脚本:
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") )
]\")));;自动化和脚本编写视窗回复:如何在 SQL 查询上使用 evalinsert?您的脚本中有许多小错别字,导致其无法正常工作。除此之外,您需要使用 Concat Items 从列表到字符串。另外,为了使其更容易调试,请在开放数据库外部构建查询字符串,然后在其中使用该新字符串。
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);
我也认为这已经基本上回答过两次了
如果 SQL 查询中 JSL 列表上的项目不存在,如何跳过该项目?以及如何使用 JSL 中的列表在 SQL 中进行查询
回复:如何在 SQL 查询中使用 evalinsert?是的,但我不太明白为什么我一直收到这个错误提示。
执行查询时发生错误:[SQLState 42601] 错误:语法错误,位于“00”附近
第 10 行:且 test_date_time 介于 2024 年 3 月 12 日 00:00:00 和 2024 年 3 月 12 日之间……