ssms 到 oracle openquery DATEADD
ssms to oracle openquery DATEADD
刚开始使用 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)
')
您可以使用:
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 服务器到 Oracle:
DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 1, 0)
<=>
add_months(TRUNC(current_date,'MONTH'), -1)
刚开始使用 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)
')
您可以使用:
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 服务器到 Oracle:
DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 1, 0)
<=>
add_months(TRUNC(current_date,'MONTH'), -1)