字符串日期至yyyy-mm-dd字符串格式



我正在使用SSIS 2013,我正在使用字符串变量来存储从文件创建的日期...

我的问题是我要获得字符串值Jan 25 2018 12:00:00,当我将数据加载到数据库中时,列需要字符串值2018-01-25。如何在派生列任务中转换变量?

使用派生列

根据此Microsoft文章:

将字符串施放到dt_date,反之亦然时,使用转换的位置。但是,该日期为Yyyy-MM-DD的ISO格式,无论该语言环境偏好是否使用ISO格式。

因此,您可以简单地在派生列中使用以下表达式:

SUBSTRING( (DT_STR,50, 1256)(DT_DATE)[DateColumn], 1, 10)

使用脚本组件

假设inDate是输入列,而OutDate是输出列

using System;
using System.Globalization;

CultureInfo provider = CultureInfo.InvariantCulture;
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    Row.outDate = DateTime.ParseExact(Row.inDate,"MMM dd yyyy HH:mm:ss",provider).ToString("yyyy-MM-dd");
}

最新更新