Sql server 2008 SQL查询-使用openquery时未按预期工作
我想在下面的查询中获取前一天的数据Sql server 2008 SQL查询-使用openquery时未按预期工作,sql-server-2008,Sql Server 2008,我想在下面的查询中获取前一天的数据 SELECT * FROM OPENQUERY(SQL32BIT, 'SELECT DISTINCT * FROM OPENQUERY(SQL04, ''SELECT X.* FROM EMPLOYEES X WHERE X.E_JOINDATE = Curdate()'')') GO 试试这个: 声明@MyQuery VARCHAR(4000), @打印日期时间日期时间 SET@printed\u datetime=DATEADD(dd,-1,GETD
SELECT *
FROM OPENQUERY(SQL32BIT, 'SELECT DISTINCT * FROM OPENQUERY(SQL04, ''SELECT X.* FROM EMPLOYEES X WHERE X.E_JOINDATE = Curdate()'')')
GO
试试这个:
声明@MyQuery VARCHAR(4000),
@打印日期时间日期时间
SET@printed\u datetime=DATEADD(dd,-1,GETDATE())
从OPENQUERY(SQL04,
“从员工X中选择X.*,其中X.E_JOINDATE=”+转换(VarChar(20),@printed_datetime)+”;
exec(@MyQuery)
SELECT*FROM OPENQUERY(SQL32BIT,'SELECT DISTINCT*FROM OPENQUERY(EASYSOFT,'SELECT X.*FROM cBRANCH2_BATCH_HEAD X,其中X.bc_date={D''2018-07-04''''};'')工作正常,但如果我想运行此每日,我如何获得前一天?我刚刚添加了前一天的日期。此外,添加用于处理日期的参数也很有用。我希望这能有所帮助。非常感谢乐华。这对我真的很有帮助。
Declare @MyQuery VARCHAR(4000),
@printed_datetime DateTime
SET @printed_datetime = DATEADD(dd, - 1, GETDATE())
SET @MyQuery ='SELECT DISTINCT * FROM OPENQUERY(SQL04,
''SELECT X.* FROM EMPLOYEES X WHERE X.E_JOINDATE =''''' + Convert(VarChar(20), @printed_datetime) + ''''''')';
exec(@MyQuery)