宛先カラムのデータ型がdatetime
の場合は、日付文字列を再フォーマットする予定はありません。この文字列を日付値に変換しようとしています。
DT_DBTIMESTAMP
の出力列とTransDateTime
列を入力として、データフロータスクにScript COmponent
を追加できます。そして、次のコードを使用します。(私はVB.NETを使用)
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Output0Buffer)
Row.OutDate = DateTime.ParseExact(Row.TransDateTime,"dd-MMM-yyyy HH:mm:ss.ff",New System.Globalization.CultureInfo("en-GB"))
End Sub
あなたの先の列はString型であるならば、あなたは、同じ手順を実行する必要がありますが、出力列がタイプDT_STR
である必要があり、あなたが持っています
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Output0Buffer)
Row.OutDate = DateTime.ParseExact(Row.TransDateTime,"dd-MMM-yyyy HH:mm:ss.ff",New System.Globalization.CultureInfo("en-GB")).ToString("dd-MM-yyyy HH:mm:ss.ff")
End Sub
(例のように)SSISを使用していますか?または、クエリを使用して方法を探していますか? –
私はssisデータフロータスクを使用しています –
私はこれを行います:ソースデータをSSISを使用してステージングテーブルrawにプッシュします。次に、(CHARINDEXを使用して)2つのダッシュの間のすべての日付を解析して、それに相当する数値で置き換えてから日付を再フォーマットするクエリを作成します。実行SQLタスクとして実行します。最後に、ステージングテーブルから宛先にデータをプッシュします。 –