使用Openquery并尝试从当前月份和上个月提取数据的新手。 通常,我只会使用DATEADD来获取特定日期,但是OpenQuery似乎并不喜欢它。关于如何从当前月份和上个月退出的任何提示?
这是到目前为止我尝试过的。
SELECT * FROM OPENQUERY(TestServer,'
SELECT name
,number
,create_date
,carton
,trailer
,bol
FROM TEST.TESTING_VIEW1 TestV
WHERE (TestV.create_date>=DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 1, 0) OR TestV.create_date IS NULL)
')
答案 0 :(得分:1)
您可以使用:
SELECT *
FROM OPENQUERY(TestServer,'
SELECT name
,number
,create_date
,carton
,trailer
,bol
FROM TEST.TESTING_VIEW1 TestV
WHERE (TestV.create_date>= add_months(TRUNC(current_date,''MONTH''), -1)
OR TestV.create_date IS NULL)
');
从SQL Server到Oracle:
DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 1, 0)
<=>
add_months(TRUNC(current_date,'MONTH'), -1)