Есть ли разница между DateTime в С# и DateTime на SQL-сервере?
Есть ли разница между DateTime в С# и DateTime на SQL-сервере?
Ответ 1
Точность и дальность (так, все важное; -p)
Из MSDN:
Тип значения DateTime представляет даты и время со значениями от 12:00 до полуночи, 1 января 0001 года Anno Domini (общая эра) до 23:59:59, 31 декабря 9999 года н.э. (CE)
Значения времени измеряются в единицах 100-наносекунд, называемых тиками, а конкретная дата - количество тиков с 12:00 до 1 января 0001 года A.D. (C.E.) в календаре GregorianCalendar
Диапазон дат: 1 января 1753 г., до 31 декабря 9999 г.
Точность: округлено до инкрементов .000,.003 или .007 секунд
Ответ 2
Вы также можете использовать datetime2 SQL Server 2008. Точность также равна 100ns. Фактически, он был введен для соответствия точности .NET DateTime.
Ответ 3
Да.
С# эквивалент типа datetime SQL SqlDateTime
Итак, определите SQL-вызов (хранимый procs с набором параметров, конечно), чтобы использовать SQLDateTime. Преимущество заключается в том, что вы можете уловить любую ошибку переполнения или вне диапазона, создавая команду, а не во время выполнения из механизма базы данных.