0

以下は、生年月日 (yymmdd) を表す文字列です。それを日時形式に変換し、ssis を使用してデータベースにロードしたいと考えています。どうすればいいですか?私の派生列には、 (DT_DATE)(SUBSTRING([Drv DOB],1,2) + "-" + SUBSTRING([Drv DOB],3,2) + "-" + SUBSTRING([Drv DOB],5) があります、2))、しかしそれは機能していません。

次のエラーが表示されます。

  1. [派生列 [2]] エラー: 型キャストの実行中にエラーが発生しました。
  2. [派生列 [2]] エラー: SSIS エラー コード DTS_E_INDUCEDTRANSFORMFAILUREONERROR。エラー コード 0xC0049064 が発生したため、"派生列" は失敗し、"派生列.入力 [派生列入力].列 [Drv DOB]" のエラー行の配置は、エラーの失敗を指定します。指定されたコンポーネントの指定されたオブジェクトでエラーが発生しました。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。

•470324 •470324 •470209 •101 •0

4

2 に答える 2

0

YEAR は 2 桁ではなく 4 桁なので、次のようになります。

(DT_DATE)("20" + SUBSTRING([Drv DOB],1,2) + "-" + 
                 SUBSTRING([Drv DOB],3,2) + "-" + 
                 SUBSTRING([Drv DOB],5,2))
于 2014-08-20T07:38:02.580 に答える
0

これは私のために働く!みんな、ありがとう

([Drv DOB] == "0") || ([Drv DOB] == "101") ? NULL(DT_DBTIMESTAMP) : (DT_DBTIMESTAMP)(SUBSTRING([Drv DOB],1,2) + "-" + SUBSTRING([Drv DOB],3,2) + "-" + SUBSTRING([Drv DOB],5,2))
于 2014-08-21T15:37:17.290 に答える