我正在尝试为 SSRS 报告创建查询。我需要从链接服务器(到 iSeries)获取最近 3 个月的交易。
所以我建立了一个我想用 OpenQuery 执行的 SQL 变量
declare @EarliestDate varchar(8), @SQL VARCHAR(200), @sDate varchar(8)
SET @EarliestDate=CAST(DATEPART(YEAR,DATEADD(m,-3, getdate())) AS VARCHAR(4))
+ RIGHT('00' + CAST(DATEPART(mm, DATEADD(m,-3, getdate())) AS varchar(2)), 2)+ '01'
SELECT @SQL= 'SELECT * FROM YEDB03P WHERE TCDAT >' + '''' + @EarliestDate +'''' + ' ORDER BY TCDAT DESC'
print @EarliestDate
print @SQL
select * from openquery(BOCTEST2,@SQL)
但似乎openquery
不喜欢使用变量
这样做的正确方法是什么?