-3

これは、「2013-06-25 18:46:54.687」をSQLサーバーに渡す日付時刻形式です。C#で変換するには?

 DateTime LastUpdateTime=Convert.toDateTime(LastUpdateTime);
  //2013-06-25 18:46:54.687 with 3 index of millisecond
 sc.Parameters.Add("@LastUpdateTime", SqlDbType.DateTime).Value = LastUpdateTime;
4

2 に答える 2

2

SQL で間違ったデータ型を使用しています。

datetime2は、より大きなデフォルトの小数精度とオプションのユーザー指定の精度を持つ既存のdatetime 型の拡張と見なすことができます。


C# ミリ秒を希望どおりに正確にフォーマットします。例:

DateTime date2 = new DateTime(2008, 1, 1, 0, 30, 45, 125);
Console.WriteLine("Date: {0:o}", 
                  date2);           
// Displays the following output to the console:
//      Date: 2008-01-01T00:30:45.1250000

なぜSQL Serverがミリ秒を失うのかを見てください。SQL Server での DateTime2とDateTime の比較

ところで、これらは良い答えのある素晴らしい質問です。

于 2013-06-25T10:58:12.693 に答える
0

データベース クエリ パラメータが文字列の場合は、次の形式を使用します。

LastUpdateTime.ToString("yyyy-MM-dd HH:mm:ss.fff")

それ以外の場合は、datetime を元のオブジェクトとして送信し、SQL サーバーにすべての変換を行わせることをお勧めします。

于 2013-06-25T10:55:44.700 に答える