16

SSISで派生列20130131を使用するように変換しようとしているcsvに日付があります。2013-13-01この表現を使用しましたが、機能していないようです。

(DT_DBTIMESTAMP)(SUBSTRING(DATE_DECISION_TO_REFER,1,2) + "-" + SUBSTRING(DATE_DECISION_TO_REFER,3,2) + "-" + SUBSTRING(DATE_DECISION_TO_REFER,5,2))

この式を書き換えて、データ型の値で正しい出力を生成するにはどうすればよいDT_DBTIMESTAMPですか?

4

3 に答える 3

17

カイル・ヘイルの提案によると、以下は私の答えです

    SUBSTRING([DATE_DECISION_TO_REFER],1,4) + "-" +
 SUBSTRING([DATE_DECISION_TO_REFER],5,2) + "-" + SUBSTRING([DATE_DECISION_TO_REFER],7,2)

二度とこの問題に直面しないように教育するために、これが表現の仕組みです

 Get 4 characters from DATE_DECISION_TO_REFER starting at position 1, add a dash,
 get 2 characters from DATE_DECISION_TO_REFER starting at position 5,
 add a dash then add 2 characters from DATE_DECISION_TO_REFER starting at position 7.

これが役立つことを願っています。

于 2013-03-08T15:10:14.187 に答える
10

表現:

この式を使用して、以下に示すように日付をフォーマットする必要がありyyyy-MM-ddます。20130131この式は、入力値をにフォーマットして2013-01-31から、適切なデータ型に変換します。式は、という名前の入力列を使用しますColumn0

(DT_DBTIMESTAMP)(SUBSTRING(Column0,1,4)+ "-" + SUBSTRING(Column0,5,2)+ "-" + SUBSTRING(Column0,7,2))

問題:

式が値を取得20130131し、それを誤って値に変換しています20-13-01。これは日付の無効な形式であるため、式はDT_DBTIMESTAMPデータ型への型キャストに失敗しています。

于 2013-03-08T15:01:32.537 に答える