Возможно, вы должны использовать datetime2(0)
вместо datetime
. Это позволит вам хранить значения без вторых фракций.
datetime2 имеет более высокий диапазон, чем datetime
, и позволяет указать требуемую фракционную вторую точность. В то время как datetime
позволяет только даты от 1753-01-01, datetime2
работы с датами от 0001-01-01 до 9999-12-31
Если вы должны использовать datetime
в любом случае, вы можете бросить в datetime2(0)
, например:
SELECT cast(GETDATE() as datetime2(0))
Это вернет значение даты и времени без дробных чисел как значение DATETIME2
. Все функции T-SQL работают с datetime2
, а значения переводится непосредственно на System.DateTime
. Если есть использовать это как datetime
хотя, вы можете бросить его обратно:
select cast(cast(getdate() as datetime2(0)) as datetime)
Используйте 'datetime2 (0)' вместо 'datetime' или отливать к тому же типу –