如何通过比较数据流任务中的当前年份来检索数据?

时间:2014-07-18 09:28:38

标签: sql ssis

select *, year(DOJ) year 
from source 
where year(DOJ) < =(select year(getdate())
                    from source) - 3

如果我在查找转换中编写这样的代码,我会在返回多个值的子查询时收到错误。所以我只想将当前年份保存在变量中并使用它而不是子查询。但我无法做到这一点。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

你的子查询错了。你可以试试这个: -

SELECT *, YEAR(DOJ) year 
FROM source
WHERE YEAR(DOJ) <= (SELECT YEAR(GETDATE())) - 3

答案 1 :(得分:0)

试试这个:

SELECT *, YEAR(DOJ) year 
FROM source
WHERE YEAR(DOJ) <= YEAR(GETDATE()) - 3

您可以直接使用YEAR上的GETDATE函数,而无需子查询。

SQL Server上的

Demo。我也在SSIS中进行了实际的Lookup Transform测试,但是我不能在这里发布。