ExcelファイルからSSISにデータをインポートする必要がありますが、日付列の問題に直面しています。Excelシートの日付形式ではyyyy/mm/dd
、データベースにアップロードするとyyyy/dd/mmm
形式が変更されます。
これを修正する方法は?
日付をインポートする際に、派生列で SUBSTRING 関数を使用し、
(LEN(TRIM(SUBSTRING(ReceivedDateTime,1,8))) > 0 ? (DT_DBDATE)(SUBSTRING(ReceivedDateTime,1,4) + "-" + SUBSTRING(ReceivedDateTime,5,2) + "-" + SUBSTRING(ReceivedDateTime,7,2)) : (DT_DBDATE)NULL(DT_WSTR,5))
データが存在する場合は、Substring 関数を使用して DB に設定されている正確な日付を抽出するか、日付が存在しない場合は DB に NULL を挿入します。
まず、以下のコマンドを使用してデータベースにテーブルを作成します
CREATE TABLE [dbo].[Manual] (
[Name] nvarchar(255),
[Location] nvarchar(255),
[Date] datetime
)
SET DATEFORMAT YDM
DATEFORMAT YDMを使用すると、DateはYYYY / DD / MM形式でインポートされます。パッケージを実行する前にパッケージを変更し、列のマッピング時に[宛先テーブルの行を削除する]チェックボックスをオンにします。
次に、パッケージを実行します。それが動作します 。
2 つのオプションが表示されます。