Вы можете изменить время на такой дате (я использую getdate()
в качестве примера):
select cast(convert(char(8), getdate(), 112) + ' 23:59:59.99' as datetime)
Пояснение:
convert(char(8), getdate(), 112)
преобразует дату в формат yyyymmdd
(в виде строки).
Затем вы можете просто добавить желаемое время и снова преобразовать всю строку в datetime
.
EDIT:
Это замедляет производительность, когда вы выполняете приведение к столбцу базы данных , да.
Но у него есть переменная datetime , и он просто использует приведение, чтобы один раз изменить время в переменной
-> Я не вижу проблем с производительностью, если он использует мой код для изменения своей переменной @EndDate
.
Допустимая точка, однако. Кастинг не является хорошим решением во всех ситуациях.