我有.csv文件来源。我将其导入ssis以进行一些更改操作以生成特殊格式的.csv文件。日期来自.Csv文件。
我需要将yyyy-mm-dd的日期格式转换为特定日期列的'MM / DD / YYYY HH:MM:SS AM'。例如:报告输入栏的日期2017-03-27需要转换为03/27/2017 HH:MM:SS AM。我该怎么做?
答案 0 :(得分:2)
您可以使用以下格式
select format(getdate(), 'dd/MM/yyyy hh:mm:ss tt')
Select convert(datetime,'your date',103)
答案 1 :(得分:2)
使用脚本组件。假设date列是一个字符串:
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
Row.date = Convert.ToDateTime(Row.date).ToString("MM/dd/yyyy hh:mm:ss");
}
答案 2 :(得分:2)
如果Date列是一个字符串,则可以在脚本组件中使用DateTime.ParseExact
方法。 (假设outDate
是输出列,inDate
是输入列)
using System;
using System.Globalization;
CultureInfo provider = CultureInfo.InvariantCulture;
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
Row.outDate = DateTime.ParseExact(Row.inDate,"yyyy-MM-dd",provider).ToString("MM/dd/yyyy HH:mm:ss");
}
有关此方法的更多信息,请参阅以下链接:
另请参阅以下链接中的答案,这非常有用: