我正在使用SSIS 2013,我使用字符串变量来存储从文件创建的日期......
我的问题是我得到字符串值2018-01-25
,当我将数据加载到数据库时,列需要字符串值Animal
。如何在派生列任务中转换变量?
答案 0 :(得分:0)
当字符串强制转换为DT_DATE时,反之亦然,则使用转换的语言环境。但是,无论区域设置首选项是否使用ISO格式,日期都采用ISO格式YYYY-MM-DD。
因此,您只需在派生列中使用以下表达式:
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");
}