SSIS OLE DB 源编辑器:日期的Where 子句

问题描述 投票:0回答:1

我一直在尝试设置一个 SSIS 包来将数据从 DB2 提取到 SQL Server。

订单表中日期的格式是数字 (8,0),因此今天存储为 20240521。 我正在尝试将记录限制为仅返回过去 12 个月的记录。

我在 SSMS 中用于日期操作的所有典型方法在 OLE DB 源编辑器/SQL 命令文本中都不起作用,并导致错误。 我在Where子句中尝试过的一些变体是:

  1. 从 OrdDate >= Convert(Char(8), Dateadd(y, -1, getdate()), 112) 的订单中选择 *
  2. 从订单中选择 *,其中 Convert(Date, Convert(char(8), OrdDate)) >= Dateadd(year, -1, getdate())

我束手无策,非常感谢任何帮助。

谢谢!

date ssis
1个回答
0
投票

您可以在表达式中使用模数和

DateFromParts

DateFromParts([NumDate] / 10000, [NumDate] % 10000 / 100, [NumDate] % 100) AS TrueDate
© www.soinside.com 2019 - 2024. All rights reserved.