Тип данных SQL Server datetime
не является точным на уровне миллисекунд.
Официальная документация предоставляет список свойств типа данных времени данных.
В этом списке вы найдете следующую строку:
Accuracy Rounded to increments of .000, .003, or .007 seconds
На этой же странице вы также найдете следующую цитату:
Примечание
Используйте типы данных time , date , datetime2 и datetimeoffset для новой работы. Эти типы соответствуют стандарту SQL. Они более портативны. время , datetime2 и datetimeoffset обеспечивают большую точность секунд. datetimeoffset обеспечивает поддержку часовых поясов для глобально развернутых приложений.
Если вы работаете с DateTime2
вместо DateTime
, вы получите точность в 100 наносекунд, помимо прочих преимуществ.
Фактически, за исключением случаев, когда вам необходимо поддерживать обратную совместимость, вы вообще не должны работать с DateTime
, только с более новыми типами данных.