在 SSIS SQL 命令中查询以获取最近 3 个月的数据

Query to get last 3 month's data in SSIS SQL Command

您好,我正在 VS2008 中为 SQL Server 2008 开发一个 SSIS 包。

为了从源代码中读取数据,我添加了 ADO.NET 源代码编辑器并在 SQL 命令中编写了以下查询 window 但出现错误。

Select * 
From Table 
Where CreatedDate Between DATEADD('d', -90, Date()) And Date()

上述 SQL 查询的错误:

ERROR [42000] [IBM i [System i Access ODBC Driver] [DB2 for i5 / OS] SQL0170 - Number of arguments for function DATE invalid. (CWBODBC.DLL)

Select * 
From Table 
Where CreatedDate Between DateAdd('d', -90, GETDATE()) And GETDATE()

第二个 SQL 查询出错:

ERROR [42S02] [IBM] [System i Access ODBC Driver] [DB2 for i5 / OS] SQL0204 - GETDATE of type * N in * LIBL not found. (CWBODBC.DLL)

有没有人可以帮我写SQL命令查询来获取最近3个月的数据?

试试这个你会得到从过去三个月到现在为止的数据

SELECT * FROM TABLE WHERE CreatedDate >= DATEADD(MONTH,-3,getdate()) 

试试这个....

WHERE CreatedDate >= CAST(GETDATE() - 90 AS DATE) 
 AND  CreatedDate <= CAST(GETDATE() AS DATE); 

WHERE CreatedDate >= CAST(DATEADD(MONTH, -3 , GETDATE()) AS DATE) 
 AND  CreatedDate <= CAST(GETDATE() AS DATE); 

根据错误消息判断,您似乎正在为 IBM i V5 数据库查询 DB2。实际上,DB2 中没有 GETDATE() 函数。也没有 DATEADD()。相反,您替换 CURRENT DATE special register (变量)的值并像这样计算范围

SELECT * FROM Table 
WHERE CreatedDate BETWEEN CURRENT DATE - 90 DAYS AND CURRENT DATE