日付列を持つフラット ファイルがあります。ISO 8601 日時標準でフォーマットされています。フォーマットは次のようになります。2013-10-28T10:23:01.000Z
それをdatetimestamp形式に変換するにはどうすればよいですか? 「派生列」を使用しましたが、型キャストが見つかりませんでした。
日付列を持つフラット ファイルがあります。ISO 8601 日時標準でフォーマットされています。フォーマットは次のようになります。2013-10-28T10:23:01.000Z
それをdatetimestamp形式に変換するにはどうすればよいですか? 「派生列」を使用しましたが、型キャストが見つかりませんでした。
サンプル パッケージを作成し、フラット ファイル接続マネージャーを追加して、DT_I4 と DT_DATE のデータ型で 2 つの列を定義しました。
rownum,eventdate
1,2013-10-28T10:23:01.000Z
次に、フラット ファイル ソースを使用してデータ フローを追加し、ソース ファイルを選択すると、ブームのインポートに失敗しました。最も厄介なエラーが原因でインポートが失敗する
データ変換に失敗しました。列「eventdate」のデータ変換で、ステータス値 2 とステータス テキスト「データが失われる可能性があるため、値を変換できませんでした。」が返されました。
日付を日付に変換できないのはなぜですか? 設計上の決定は、データのインポートを可能な限りフレンドリーにすることでした。つまり、正気で標準に基づいた、datetime などのテキスト表現を使用する人々はうんざりします。アメリカの怠け者01-02-05
はデータを使用して解釈さJan 2, 2005
せることができますが、イギリスの怠け者は彼らFeb 1, 2005
と日本の人々に誰もが怒っていると思わせることができますFeb 5, 2001
。
したがって、デフォルトではローカリティが原因であり、ソースデータを考え抜こうとします。解決策は、SSIS に黙ってデータを取得するように指示することです。
データ フローで、データ ソースを右クリックし、高度なエディターを選択します。[入出力プロパティ] タブで、[出力列] を展開し、この適切なデータを含む各列についてFastParse
、デフォルトの false からTrueに設定する必要があります。