Подтвердить что ты не робот

Есть ли разница между DateTime в С# и DateTime на SQL-сервере?

Есть ли разница между DateTime в С# и DateTime на SQL-сервере?

4b9b3361

Ответ 1

Точность и дальность (так, все важное; -p)

Из MSDN:

.NET System.DateTime

Тип значения DateTime представляет даты и время со значениями от 12:00 до полуночи, 1 января 0001 года Anno Domini (общая эра) до 23:59:59, 31 декабря 9999 года н.э. (CE)

Значения времени измеряются в единицах 100-наносекунд, называемых тиками, а конкретная дата - количество тиков с 12:00 до 1 января 0001 года A.D. (C.E.) в календаре GregorianCalendar

Transact SQL datetime

Диапазон дат: 1 января 1753 г., до 31 декабря 9999 г.

Точность: округлено до инкрементов .000,.003 или .007 секунд

Ответ 2

Вы также можете использовать datetime2 SQL Server 2008. Точность также равна 100ns. Фактически, он был введен для соответствия точности .NET DateTime.

datetime2 (Transact-SQL)

Ответ 3

Да.

С# эквивалент типа datetime SQL SqlDateTime

Итак, определите SQL-вызов (хранимый procs с набором параметров, конечно), чтобы использовать SQLDateTime. Преимущество заключается в том, что вы можете уловить любую ошибку переполнения или вне диапазона, создавая команду, а не во время выполнения из механизма базы данных.