SSIS - 派生列中的表达式,用于更改过去六天的日期

时间:2017-06-09 15:59:40

标签: datetime ssis

我正在研究SSIS,我的问题是我有一个XML文件数据,一个列标题是 TIMESTAMP TIMESTAMP 样本数据在这里:< / p>

    2013-08-02 00:15:00
    2013-08-03 00:30:00
    2013-08-04 00:45:00
    2013-08-05 08:45:00
    2013-08-06 08:45:01
    2013-08-08 08:45:02

在上述数据中,我必须将日期更改为:

    2017-06-02 00:15:00
    2017-06-03 00:30:00
    2017-06-04 00:45:00
    2017-06-05 08:45:00
    2017-06-06 08:45:01
    2017-06-08 08:45:02

那么,如何在派生列中编写表达式以更改过去六天的日期?不改变时间读数&#39;这是日期的一面。

这意味着日期应该更改并从之前的6天开始弹出,日期旁边的TimeReading应该与之前的数据相同。

我做了什么:

在Expression中,如果我给 GETDATE()输出填充今天的日期, TimeReading 填充00:00:00。< / p>

如果我给GETDATE() - 1,则输出填充上一个日期, TimeReading 填充00:00:00,

但我需要使用相同的 TimeReading 来获取上一次六天的连续日期。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我相信你想看的是DateAddFunction。我想你要求在 TimeReading 中减去6天(不确定因为你的例子显示了2天或1天)。但无论如何,为期6天:

DateAdd(Day,6,TimeReading)

使用DerivedColumn创建一个新字段以包含此新值。