これがあなたの質問に対する私の理解です。パッケージスコープで2つの変数を作成したと思います。SQL SELECTコマンドを格納するための、 DateTimeデータ型という名前LastInsertDate
の変数とStringデータ型という名前の別の変数。SqlQuery

変数のEvaluateAsExpressionプロパティをに設定SqlQuery
しますTrue
。次に、次のコマンドを入力しましたSELECT COLUMN1, COLUMN2 FROM TABLENAME WHERE DATE_INSERTED > @[User::LastInsertDate]

EvaluateAsExpressionをクリックすると、次のエラーメッセージが表示されます。
Expression cannot be evaluated.
Additional information:
Attempt to parse the expression "SELECT COLUMN1, COLUMN2 FROM TABLENAME WHERE DATE_INSERTED > @[User:LastInsertDate]" failed. The expression might contain an invalid token, an incomplete token, or an invalid element. It might not be well-formed, or might be missing part of a required element such as a parenthesis.

ここでの問題は、変数SqlQueryに格納しようとしている値が二重引用符で囲まれていないことです。文字列値は二重引用符で囲む必要があります。テキストを二重引用符で囲んでいる間は、datetime変数をそのまま使用することはできませんLastInsertDate
。日時変数を文字列に変換する必要がありますが、日時値を文字列に変換するだけでは、予期しない形式になる可能性があります。安全のために、DATEPART
関数を使用して日時の値を形式の文字列に変換することをお勧めしますYYYY-MM-DD hh:mi:ss
。これを行う完全な式は次のとおりです。
"SELECT COLUMN1, COLUMN2 FROM TABLENAME WHERE DATE_INSERTED > '" +
(DT_STR, 4, 1252) DATEPART("yyyy", @[User::LastInsertDate])
+ "-" + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("mm", @[User::LastInsertDate]), 2)
+ "-" + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("dd", @[User::LastInsertDate]), 2)
+ " " + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("hh", @[User::LastInsertDate]), 2)
+ ":" + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("mi", @[User::LastInsertDate]), 2)
+ ":" + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("ss", @[User::LastInsertDate]), 2)
[式の評価]をクリックすると、[評価値]セクションに日時の値を含む文字列が表示されます。
お役に立てば幸いです。
