Есть ли какое-либо различие между DateTime в c# и DateTime в SQL-сервере?

Нужно вернуть пустой IEnumerable?

public IEnumerable<T> GetEnumerator(){
  yield break;
}
14
задан odiseh 25 July 2009 в 09:03
поделиться

3 ответа

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

Из MSDN:

.NET System.DateTime

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

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

Transact SQL datetime

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

Точность: округлено до приращений 0,000, 0,003 или 0,007 секунды

20
ответ дан 1 December 2019 в 07:19
поделиться

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

datetime2 (Transact-SQL)

11
ответ дан 1 December 2019 в 07:19
поделиться

Да.

Эквивалент типа даты и времени SQL в C # - SqlDateTime

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

6
ответ дан 1 December 2019 в 07:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: