select *, year(DOJ) year
from source
where year(DOJ) < =(select year(getdate())
from source) - 3
如果我在查找转换中编写这样的代码,我会在返回多个值的子查询时收到错误。所以我只想将当前年份保存在变量中并使用它而不是子查询。但我无法做到这一点。任何人都可以帮助我吗?
答案 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
函数,而无需子查询。
Demo。我也在SSIS中进行了实际的Lookup Transform测试,但是我不能在这里发布。