如何将日期列更改为两个单独的列

时间:2017-04-07 13:45:00

标签: sql-server ssis

我有一个excel文件,我想从中提取日期并将其加载到维度表中,但仅限于月份和年份。 我想通过SSIS包来做到这一点。 例如我有6/15/2002 我只想采取6/2002 因为在我的维度表中我只有月份和年份 我该怎么办。请帮帮我,这是我最后的项目 它就像这个问题

How to change a Date Column into two separate columns, MONTH and YEAR

1 个答案:

答案 0 :(得分:2)

您可以使用Derived Column转换来完成此操作。 excel源的输出可以保持不变。通过Derived Column TF获取该输出,添加两个新列Add new columns,然后最简单的方法是将Date转换为字符串varcharcharDT_STRDT_WSTR根据您的表架构),然后根据您的条件,使用substring函数构成每个新列。

例如:Derived Column 1<add as new column>SUBSTRING( (DT_STR, 20, 1252)Your_Column , 0, 1 ) + SUBSTRING( (DT_STR, 20, 1252)Your_Column , 6, 4 )代表您的请求

<强>已更新

(DT_WSTR, 20)MONTH(YOUR_COLUMN)+ "/" + (DT_WSTR, 20)YEAR(YOUR_COLUMN)

更新第二次 与以前一样,但Derived Column 1<add as new column>(DT_WSTR, 20)MONTH(YOUR_COLUMN)为MONTH表达式。

Derived Column 2<add as new column>(DT_WSTR, 20)YEAR(YOUR_COLUMN)作为YEAR表达。

您可以将Derived Column 1Derived Column 2重命名为您想要的任何名称,以便以后识别。