SSIS DATEADD 函数

SSIS DATEADD 函数是一个日期/时间函数,它将日期或时间间隔添加到给定的日期或从中减去,并返回一个新的 DT_DBTIMESTAMP。本文将介绍如何使用 DATEADD 函数,并附带一个示例,用于预测未来日期或分析过去日期的语法如下。

DATEADD(<<datepart>>, <<number>>, <<date>>)
  • datepart:DATEADD 函数将 datepart 视为要添加到日期或从中减去的日期或时间间隔。例如,yyyy 表示添加年份。
  • number:它接受整数值,您需要指定要添加或减去多少个日期或时间间隔。
  • Date:实际日期

例如,DATEADD(“m”, 6, “2006-01-28) 将在给定日期上加六个月,结果为 2006-07-28。为了演示 SSIS DATEADD 函数,我们使用下面的 Employee 表,该表有 15 条记录。

Source Table

下面的列表显示了日期部分及其描述。

  1. Year =”yyyy”
  2. Month = “m”
  3. Day = “d”
  4. Quarter = “q”
  5. Week = “ww”
  6. Weekday =”w”
  7. Day of Week=”y”
  8. Hour = “h”
  9. Minute = “n”
  10. Second = “s”

SSIS DATEADD 函数

对于此 DATEADD 示例,我将添加一个数据流任务并双击它以进入数据流区域。接下来,添加 OLE DB 源以从上述 SQL 数据库表中读取数据。请将 OLE DB 源连接到派生列转换,因为它有助于编写 DATEADD 表达式并创建新列。

接下来,双击它以打开“派生列转换编辑器”。将 SSIS DATEADD 函数拖放到“表达式”下的行单元格中,并将 <> 替换为年份 (yyyy),将 替换为 2 和 -5,并将 <> 替换为 HireDate 列以添加和减去年份。您可以手动删除完整的 <> 表达式,或者拖放 HireDate 列将自动替换它。

第一个 DATEADD 函数表达式返回 HireDate 加上两年,第二个表达式从 HireDate 减去五年。

DATEADD( "yyyy", 2, [HireDate] )

DATEADD( "yyyy", -5, [HireDate] )
DATEADD Function Expression to add or subtract date and time intervals

单击 OK 关闭编辑器窗口。请参阅 Union All TransformationDerived Column TransformationBuilt-in FunctionsSQL ServerSSIS 中的文章。

拖放 Union All Transformation 并将其与 Derived Column 连接。接下来,右键单击连接节点并选择“启用数据查看器”。请运行 SSIS DATEADD 函数包以查看 HireDate 列的过去和未来日期。

DATEADD Function to add or subtract date and time intervals