在 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
您好,我正在 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