XML 列の日付値を格納する2 つの変数を作成し、現在の日付を取得するもう 1 つの変数を作成します。式を作成するには、変数を選択し、右クリックします。プロパティ ウィンドウEvaluateAsExpression =true
で、expression
Name DataType Expression
ExecDate DateTime
CurrentDate DateTime GETDATE()
Execute SQL Task
.Set Resultset
toを使用Single Row
して次のコードを記述し、テーブルの XML 列から日付値を読み取ります。
SELECT
convert(datetime,XMLData.value('(/Code/@date)[1]', 'varchar(10)'),103) as PkgDate
from yourTable
SQL Fiddleでのデモ
マップではresultset tab
、変数を使用した上記の SQL クエリからの出力ExecDate
Result Name Variable Name
PkgDate ExecDate
別の Task またはコンポーネント ExSEND Mail TASK
を後に置き、 Precedence ConstraintExecute SQL Task
に式を記述します。
Expression : @ExecDate==@CurrentDate
XML 列の Date 値が、変数に格納されている現在の日付と一致する場合@CurrentDate
にのみ、その後の他のコンポーネントのみExecute SQL Task
が実行されます。
today's date= (Code date -2) or today's date = (code date + 1) run a mailer task.
上記の式を実行するには、SQL コードを変更する必要があります。Execute SQL Task
CodeDate +1 を取得するには
SELECT
Dateadd(day,1,convert(datetime,XMLData.value('(/Code/@date)[1]', 'varchar(10)'),103)) as PkgDate
from yourTable
私は今それをテストするためのSSIS環境を持っていませんが、これはあなたがそれを行うべき方法です