4

Excel からデータをインポートし、SQL テーブルに挿入しています。Excel ファイルのフィールドの 1 つに時刻値が入力されています。その時間値を文字列として SQL テーブルにインポートしたいと考えています。これを行うと、SQL テーブルに奇妙な値が表示されます。Excel の値は07:00で、それを文字列として SQL テーブルに挿入すると、時刻の値は0,29166666667のようになります。

文字列値としてインポートする理由は、同じフィールドで日を定義できる必要があるためです。このように: D2 10:30。この種の値をインポートすると、正しく挿入されます。

誰でも助けることができますか?

4

1 に答える 1

3

Excel は、日付と時刻を 0 ~ 0.99999999 + x 日の数値として格納します。

0.29166666667 は のよう00.01.1900 07:00:00になりますが、これはあなたの場合は正しいようです。

したがって、直接の文字列入力として使用する前に、この値の再フォーマットまたは変換を使用する必要があります。

VBA では、 を使用できますFormat(myValue,"DD-MM-YYYY hh:mm:ss")

同等のワークシート関数はTEXT(A1,"DD-MM-YYYY hh:mm:ss").

format-code は、地域の設定によって異なります。Format(myTime, "Long Time")Excel で定義された時間形式を使用したい場合は、このようなものを試してみてください。

コードを投稿していないため、Excel データをどのようにインポートするのかわかりません。しかし、より良い結果を得る最速の方法はTEXT、以前の時間列への参照を含む式を使用して新しい列を設定し、この新しいフォーマットされた列を sql-db の入力として使用することです。

于 2012-11-19T09:10:55.743 に答える