私は自社の古いMySqlデータベースからデータの行を収集し、新しいSQLに行をプッシュするためのクイックコンソールプログラムを作成していますデータベース。最初の300かそこらの行は罰金だったが、突然のすべては、私がvarcharデータ型をdatetimeデータ型に変換すると、範囲外の値が返される
範囲外の値になったdatetimeデータ型にvarcharデータ型の変換を取得しています。
私は選択したときに変換に何も問題はないように見えますが、私の現在の時刻を変換する方法はいくつかありました。
IE:
DECLARE @INPUT varchar(30) = '09/25/2010 04:55:47';
SELECT CONVERT(datetime, @INPUT, 101);`
出力2010-09-25 04:55:47.000
。
DECLARE @INPUT varchar(30) = '09/25/2010 04:55:47';
INSERT INTO TABLE(A_BUNCH_OF_OTHER_COLUMNS, DATETIME_COLUMN, MORE_COLUMNS)
VALUES (A_BUNCH_OF_OTHER_VALUES, CONVERT(datetime, @INPUT, 101), MORE_VALUES);`
私は、これが動作していないという理由はないし、私の同僚のいくつかを尋ねた後、彼らはどちらかのSQLで間違って何も見えません。
は、変換エラーが唯一のフルSQLのINSERTにまで見せています。
EDIT:実際のステートメントを反映するようにINSERTを修正しました。
を実行する時間を操作している3つの他の日時フィールドがあります。 '@ DT'とは何ですか? 'A_BUNCH_OF_OTHER_COLUMNS'は何ですか? 'A_BUNCH_OF_OTHER_VALUES' DateTimes?そうであれば、変換の問題が発生する可能性があります。 –
あなたはそこに無効な日付があるからです。すべての日付をvarcharsとして転送し、 'select * from MuhDateTest where isdate(muhdate)= 0' – Will