如何将TimeStamp从md / dd / yyyy h:mm转换为DD / md / yyyy h:mm

时间:2017-01-17 20:27:03

标签: ssis

我需要帮助将md / dd / yyyy h:mm转换为DD / md / yyyy h:mm 例11/12/2016 12:58到12/11/2016 12:58 然后将它们分为两列,日期格式和时间格式

1 个答案:

答案 0 :(得分:0)

如果您的列是datetime / datetime2数据类型,则可以使用DATEPART函数将日期部分与时间部分分开。

在派生列转换编辑器中,创建两列并选择<add as new column option>使用这些表达式:

获取日期

(DT_WSTR,2) DATEPART("dd", TimestampColumn) + "/" +
(DT_WSTR,2) DATEPART("mm", TimestampColumn) + "/" +
(DT_WSTR,4) DATEPART("yyyy", TimestampColumn)

获取时间

(DT_WSTR,2) DATEPART("Hh", TimestampColumn) + ":" +
(DT_WSTR,2) DATEPART("mi", TimestampColumn)

但是,如果您的列是varchar或nvarchar数据类型,则可以使用SUBSTRING函数在两个派生列中获取日期和时间。即:

SUBSTRING(TimestampColumn,1,2) --> will give you the month
SUBSTRING(TimestampColumn,4,2)--> will give you the day
SUBSTRING(TimestampColumn,7,4) --> will give you the year
SUBSTRING(TimestampColumn,12,5) --> will give you the time

如果有帮助,请告诉我。