日付形式のSQLクエリスクリプトの問題こんにちは、
私はJSLの大物です。 スクリプトとSQLクエリを混在させています。 私のクエリは2つの日付で条件付けられています。 しかし、私がそれを実行すると、私の日付の割り当ては機能しません。 日付のファイルは_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);Re:日付形式の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' ";