【问题标题】:Query to get last 3 month's data in SSIS SQL Command在 SSIS SQL 命令中查询以获取最近 3 个月的数据
【发布时间】:2017-05-22 15:34:05
【问题描述】:

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

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

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

上述 SQL 查询错误:

错误 [42000] [IBM i [System i Access ODBC 驱动程序] [DB2 for i5 / OS] SQL0170 - 函数 DATE 的参数数量无效。 (CWBODBC.DLL)

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

第二个 SQL 查询出错:

错误 [42S02] [IBM] [System i Access ODBC 驱动程序] [DB2 for i5 / OS] SQL0204 - 未找到 * LIBL 中 * N 类型的 GETDATE。 (CWBODBC.DLL)

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

【问题讨论】:

  • 你遇到了什么错误?
  • 您能否更明确地了解过去三个月,是过去 90 天吗?还是过去三个月不包括当月?还是别的什么??
  • 应该是最近3个月的数据,包括当月
  • 所以您是从 DB2 数据库中提取数据?这也值得一提。
  • 我正在通过安装 ODBC 驱动程序从 SAP 中提取数据。

标签: ssis db2 ibm-midrange db2-400


【解决方案1】:

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

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

【讨论】:

【解决方案2】:

试试这个你会得到过去三个月到目前为止的数据

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

【讨论】:

  • 我试过这个并且得到了错误:错误 [42S02] [IBM] [System i Access ODBC Driver] [DB2 for i5 / OS] SQL0204 - GETDATE of type * N in * LIBL not found . (CWBODBC.DLL)
【解决方案3】:

试试这个....

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); 

【讨论】:

  • 得到错误:错误 [42000] [IBM i [System i Access ODBC 驱动程序] [DB2 for i5 / OS] SQL0170 - 函数 DATE 的参数数量无效。 (CWBODBC.DLL)
  • @User5590 如果您从 SQL Server 2008 获取数据,请使用 OLE DB 数据源,而不是使用 ado.net 或 ODBC。
  • 我的数据通过 ODBC 来自 SAP,我需要将其导入 SQL 2008
  • 以上都不起作用。收到尴尬的错误错误 [42S02] [IBM] [System i Access ODBC Driver] [DB2 for i5 / OS] SQL0204 - GETDATE of type * N in * LIBL not found。 (CWBODBC.DLL)
  • 记住她/他使用的是 IBM DB2 数据库,没有 SQL 服务器。
猜你喜欢
  • 2014-03-21
  • 2012-05-05
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-09
  • 1970-01-01
相关资源
最近更新 更多