C # SQL Server 2008 DATETIME2 столбец - PullRequest
       1

C # SQL Server 2008 DATETIME2 столбец

2 голосов
/ 12 апреля 2011

Как я могу работать в C # со столбцом DATETIME2 через LINQ и получать микросекундное разрешение?Прямо сейчас, даже с типом данных сервера, установленным в DATETIME2, мой объект LINQ имеет поле DateTime, которое, похоже, не обрабатывает микросекунды.

1 Ответ

2 голосов
/ 12 апреля 2011

Несмотря на то, что DATETIME2 обрабатывает микросекунды, .NET 4 - нет.Если вам нужно обрабатывать микросекунды специально, вы можете использовать процедуры в SQL Server без чтения значений через ваше приложение.

Ссылка .NET говорит:

Дробная часть значения является дробнойчасть миллисекунды.Например, 4,5 эквивалентно 4 миллисекундам и 5000 тикам, где одна миллисекунда = 10000 тиков.

string dateFormat = "MM/dd/yyyy hh:mm:ss.fffffff"; 
DateTime date1 = new DateTime(2010, 9, 8, 16, 0, 0);
Console.WriteLine("Original date: {0} ({1:N0} ticks)\n",
                  date1.ToString(dateFormat), date1.Ticks);

DateTime date2 = date1.AddMilliseconds(1);
Console.WriteLine("Second date:   {0} ({1:N0} ticks)",
                  date2.ToString(dateFormat), date2.Ticks);
Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)\n",
                  date2 - date1, date2.Ticks - date1.Ticks);                        

DateTime date3 = date1.AddMilliseconds(1.5);
Console.WriteLine("Third date:    {0} ({1:N0} ticks)",
                  date3.ToString(dateFormat), date3.Ticks);
Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)",
                  date3 - date1, date3.Ticks - date1.Ticks);                        
// The example displays the following output:
//    Original date: 09/08/2010 04:00:00.0000000 (634,195,584,000,000,000 ticks)
//    
//    Second date:   09/08/2010 04:00:00.0010000 (634,195,584,000,010,000 ticks)
//    Difference between dates: 00:00:00.0010000 (10,000 ticks)
//    
//    Third date:    09/08/2010 04:00:00.0020000 (634,195,584,000,020,000 ticks)
//    Difference between dates: 00:00:00.0020000 (20,000 ticks)  

Ссылка: DateTime.AddMilliseconds Метод

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...