如何将当前日期与包含具有一系列日期的列的 table 进行比较,并将关联值用作变量?
How do I compare the current date to a table containing columns with series of dates and use associated values as variables?
使用 SSDT 16.0.61908、SSIS 15.0.2000 和 VS Community 16.3.4
在将成为其他流的前身的数据流中,我有一个简单的 OLE DB 源,它 运行 是针对数据库中的 table 的 SQL 查询returns 4 列:
- 支付组
- 期开始
- 期末
- 检查日期
当我执行包时,我希望包将 运行 日期与最近完成的 CHECK DATE 值进行比较,并将相应的 PAYGROUP、PERIOD START 和 PERIOD END 值设置为要在后续流程。
我试过使用派生列,但即使那样我也无法正确使用语法。此外,如果我能够推断出最近的检查日期和相关值,我也不确定如何将其传递给在后续流程中调用的变量。
为此,我将使用 ExecuteSql 任务。
1) 将结果集设置为单行
2) 使用下面查询的底部 select 正确的行
3) 在结果集中,将列映射到变量
DROP TABLE IF EXISTS #Payments;
create table #Payments
(
PAYGROUP nvarchar(100),
[PERIOD START] DATETIME,
[PERIOD END] DATETIME,
[CHECK DATE] DATETIME
);
INSERT INTO #Payments
VALUES('Group1', '2020-01-30', '2020-02-29', '2020-04-15')
, ('Group2', '2020-01-30', '2020-02-29', '2020-04-16')
, ('Group3', '2020-01-30', '2020-02-29', '2020-04-17')
-- Use this code in the SQL task, replace with real table
SELECT top (1)
PAYGROUP,
[PERIOD END],
[PERIOD END]
FROM #Payments
WHERE [CHECK DATE] < Convert(date, getdate())
ORDER BY [CHECK DATE] DESC
使用 SSDT 16.0.61908、SSIS 15.0.2000 和 VS Community 16.3.4
在将成为其他流的前身的数据流中,我有一个简单的 OLE DB 源,它 运行 是针对数据库中的 table 的 SQL 查询returns 4 列:
- 支付组
- 期开始
- 期末
- 检查日期
当我执行包时,我希望包将 运行 日期与最近完成的 CHECK DATE 值进行比较,并将相应的 PAYGROUP、PERIOD START 和 PERIOD END 值设置为要在后续流程。
我试过使用派生列,但即使那样我也无法正确使用语法。此外,如果我能够推断出最近的检查日期和相关值,我也不确定如何将其传递给在后续流程中调用的变量。
为此,我将使用 ExecuteSql 任务。
1) 将结果集设置为单行
2) 使用下面查询的底部 select 正确的行
3) 在结果集中,将列映射到变量
DROP TABLE IF EXISTS #Payments;
create table #Payments
(
PAYGROUP nvarchar(100),
[PERIOD START] DATETIME,
[PERIOD END] DATETIME,
[CHECK DATE] DATETIME
);
INSERT INTO #Payments
VALUES('Group1', '2020-01-30', '2020-02-29', '2020-04-15')
, ('Group2', '2020-01-30', '2020-02-29', '2020-04-16')
, ('Group3', '2020-01-30', '2020-02-29', '2020-04-17')
-- Use this code in the SQL task, replace with real table
SELECT top (1)
PAYGROUP,
[PERIOD END],
[PERIOD END]
FROM #Payments
WHERE [CHECK DATE] < Convert(date, getdate())
ORDER BY [CHECK DATE] DESC