Обновление временной части даты и времени в SQL Server

У меня есть переменная DateTime в SQL Server. У меня есть приведенный ниже код, чтобы проверить выходные, а затем вычесть дни, чтобы сделать это в пятницу. Теперь я также хочу установить время этого нового Datetime как 17:00 в пятницу. Может кто-нибудь, пожалуйста, скажите мне, как я могу этого добиться.

if (DATENAME(DW, @EndDate) = 'Sunday')
Begin
Set @EndDate = (SELECT DATEADD(DAY, -2, @EndDate))
End
if (DATENAME(DW, @EndDate) = 'Saturday')
Begin
Set @EndDate = (SELECT DATEADD(DAY, -1, @EndDate))
End
End

Спасибо

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
35
2

Ответы 2

Вы можете добавить 17 часов:

Set @EndDate = DATEADD(HOUR, 17, DATEADD(DAY, -1, @EndDate))

Я понятия не имею, почему вы сформулировали эту логику с помощью подзапроса. Это не обязательно.

Если в ваших данных уже есть компонент времени, сначала приведите его к date, чтобы избавиться от компонента времени, а затем вернитесь к datetime:

Set @EndDate = DATEADD(HOUR, 17, DATEADD(DAY, -1, CONVERT(datetime, CONVERT(DATE, @EndDate))))

Спасибо, Гордон. У меня есть дата в формате даты и времени. Выбор DATEADD(HOUR, 17, DATEADD(DAY, -1, '17/03/2019 12:08:08')) приводит к 2019-03-17 05 :08:08.000 Я искал 15.03.2019 17:00:00

SP1 18.03.2019 22:31

Потрясающе .. Спасибо

SP1 18.03.2019 22:38

выберите приведение (CONVERT (varchar (12), GETDATE ()) + '17:00' в качестве даты и времени)

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