Преобразовать datetime в smalldatetime в хранимой процедуре SQL, которая сохраняет время?

У меня есть хранимая процедура, которая получает данные из базы данных, которая использует столбец с типом datetime (в нем есть допустимое значение времени), и она обновляет таблицу в другой базе данных, которая использует тип smalldatetime. При попытке преобразовать тип datetime в тип smalldatetime я теряю часть времени date. По какой-то странной причине дата округляется на день больше для меня. Существует ли какой-то специальный оператор преобразования из datetime в smalldatetime, который сохраняет временную часть значения даты?

1 ответ

Видимо, покопавшись еще, я нашел ответ на свой вопрос. Тип данных smalldatetime округляет секунды. Если это:29 и ниже, это идет к предыдущей минуте. Если это:30 и выше, это идет в следующую минуту. Я не знал об этом ранее. Что действительно глупо, так это то, что вы все равно видите значение секунд в базе данных, даже если оно всегда:00.

Другие вопросы по тегам