0

派生列を使用して文字列を日付に変換しようとしていますが、フラット ファイル ソースを使用しています。stackoverflow に関する一連の記事を読み、同じ手順に従いましたが、文字列を日付形式に変換できません。

ここに文字列があります

Tue Nov 25 17:32:03 EST 2008

そして、私はそれを次のように示したい

2008-nov-25

次のコードを使用してみました

(DT_DBDATE)(SUBSTRING(dateCreated,24,4) + "-" + SUBSTRING(dateCreated,4,3) + "-" +    SUBSTRING(dateCreated,8,2))

私も使ってみました

  (DT_DATE)(SUBSTRING(dateCreated,24,4) + "-" + SUBSTRING(dateCreated,4,3) + "-" +    SUBSTRING(dateCreated,8,2))

  (DT_DBTIMESTAMP)(SUBSTRING(dateCreated,24,4) + "-" + SUBSTRING(dateCreated,4,3) + "-" +    SUBSTRING(dateCreated,8,2))

これは、文字列を日付形式に変換する正しい方法ですか?

4

2 に答える 2

0

ありがとうラジブ!

したがって、望ましい結果を与える最終的な式は次のとおりです。

(DT_DBTIMESTAMP)(SUBSTRING(dateCreated,24,5) + "-" + SUBSTRING(dateCreated,4,4) + "-" + SUBSTRING(dateCreated,8,3) + " " + SUBSTRING(dateCreated,11,9))

入力は:-

Tue Nov 25 17:47:41 EST 2008

出力は次のとおりです。

2008-11-25 17:47:41.000
于 2012-07-13T15:51:20.633 に答える
0

BOLに従って yyyy-mon-dd の形式で表示することはできないと思います。私はあなたの表現をチェックし、マイナーな変更を加えた後、それを機能させることができました. 文字列を再度文字列に型キャストすることはできません (出力に月名が必要です)。DATEPART 関数を使用したとしても、異なる部分を文字列に連結することになります。

入力で機能する式は次のとおりです (@dateCreated を任意のものに置き換えます)。

SUBSTRING(@[User::dateCreated],24,5) + "-" + SUBSTRING(@[User::dateCreated],4,4) + "-" + SUBSTRING(@[User::dateCreated],8,3)
于 2012-07-12T20:15:59.437 に答える