使用脚本组件

使用 C#或 vb.net 代码,转换更加简单。需要一个输出列,因为我们输入的类型无法动态更改,另一种方法是在正手上添加一个输入列使其成为 ReadWrite。

http://i.stack.imgur.com/5DvO7.jpg

下一个代码将填充新列。

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    if (Row.DataDate_IsNull)
        Row.DataDateAsDate_IsNull = true;
    else 
    {
        DateTime tmp;
        if (DateTime.TryParseExact(Row.DataDate.ToString(), "yyyyMMdd", new DateTimeFormatInfo(), System.Globalization.DateTimeStyles.None, out tmp))
            Row.DataDateAsDate = tmp;
        else
            // throw exception or return null
            Row.DataDateAsDate_IsNull = true;
    }
}

http://i.stack.imgur.com/9Sr4Q.jpg