日期格式的 SQL 查询脚本问题你好,
我是 JSL 的大佬。 我正在将脚本与 SQL 查询混合。 我的查询以两个日期为条件。 但是当我运行它时,我的日期分配不起作用。 带日期的字段是_TIMESTAMP,日期的格式是yyyy-mm-dd hh:mm:ss。 当我使用查询中的日期运行它时,它当然可以工作。 我需要这个脚本,因为我必须为许多表做同样的事情。
这是脚本:
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"));我已经蒙蔽了 sql 连接参数。
亲切的问候,
脚本视窗Re: 日期格式的 SQL 查询脚本问题欢迎来到社区@Teissduc16 ,
几件小事可能会有所帮助:
- 您可能希望在 eval insert() 行中使用它们之前定义开始和结束。
- 为了确保日期以 SQL 理解的格式显示,您可能希望在将日期放入 sql 语句之前将其格式化为字符串
这是一个例子:
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);回复:日期格式的 SQL 查询脚本问题如果在 eval insert 语句之前没有定义 start 和 end,sql_statement 将出错,还将 start 和 end 更改为字符串
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' ";