AS400 からデータを取得するために SSIS (SQL 2008) を使用しています。日付値は、7 桁の数値として 400 に格納されます。形式は次のとおりです。「CYYMMDD」 C は、0 = 1900 および 1 = 2000 の「世紀の数字」です。派生列とスクリプト コンポーネントを調べています。私は SSIS に非常に慣れていないため、さまざまなケースを組み合わせて必要なすべてのキャストが私を退屈な少年にしています。また、先行ゼロを失っています。それが b/c かどうかはわかりませんが、それらは数値型であり、文字列としてキャストするかどうかにかかわらず、正しく表示されます。以下は、SSISを使用して400から直接プルした後のSQLで見ているものです。
AS400 = Actual
101 01/01/1900 (I think these are "unknown" dates)
1231 12/31/1900 (I think these are "unknown" dates)
20702 07/02/1902
151231 12/31/1915
1000102 01/02/2000
1110201 02/01/2011