多くのファイルをSQL Serverデータベースにロードしています。私はstring[DT_STR]
として来る日付欄を持っている1つのフラットファイルを持っています。 データベースに「日付フィールド」が2つあります。 1つはvarchar
、1つはdatetime
です。SSIS矛盾のあるm/dd/yyyyをyyyymmddに変換します。
datetime
カラムの変換は問題ありません。必要に応じてデータ変換/派生カラムを使用します。しかし、このvarchar
のコラムが私に困っています。この列のデータベース値は、yyyymmdd形式である必要があります。ただし、この単一のファイルでは、日付の書式が変更されます。
ここでは通常SUBSTRING(...)
という表現をしていますが、難しいのはこれらの日付の形式が変更されていることです。いくつかの値の例は、
08/16/2017
8/16/2017
08/6/2017
08/06/2017
10/6/2017
10/06/2017
である可能性があります。私はLEN([DATE]) == NUM_HERE ? do_THING : OTHER_CALC
を試しましたが、10/6/2017
の長さが8/06/2017
と同じで、間違った結果が出るため、この方法は失敗しました。誰かがこれに対して良い回避策を持っていますか?
にあなただけのキャストすることができるはずという変換aこれらの例は 'CAST('08/16/2017 'AS datetime)を使ってdatetimeに直接変換します。 – EMUEVIL