何年も前に MSSQL 6.5 から MSSQL 2000 への変換が行われましたが、ちょうど今週、その変換で日時列の変換に失敗したことに気付きました。それを修正することが今の私の仕事であり、正確であることがわかっている情報の一部をどのように保存できるか頭を悩ませてきました. これは、修正する必要があるテーブルの 1 つの構造です。
DateTimeField1 DateTimeField2 DateTimeField3
01/01/1900 5:50:00 PM 01/01/1900 5:52:00 PM 15/02/2005 12:00:00 AM
これは、破損した多くのレコードの 1 つのサンプルです。残念ながら、変換前のバックアップにアクセスできません。ご覧のとおり、日付部分は DateTime フィールドのデフォルト値であり、修正が必要な部分です。次の選択があります。これにより、修正する必要のある行が得られます。
SELECT DateTimeField1, DateTimeField2, DateTimeField3
FROM Table1
WHERE (DateTimeField1 < '20000101') OR (DateTimeField2 < '20000101')
ここで、select の結果として 60 個のレコードがあるとします。DateTimeField3 DATE 部分のみに基づいてこれらのレコードを更新する必要があります。上記のサンプルは次のようになります。
DateTimeField1 DateTimeField2 DateTimeField3
15/02/2005 5:50:00 PM 15/02/2005 5:52:00 PM 15/02/2005 12:00:00 AM
これを達成する方法について何か考えはありますか?