Переменная даты с понедельника по понедельник с временем 8:00 - PullRequest
0 голосов
/ 16 июня 2020

как создать две переменные с датой для процедуры, независимо от того, когда она начинается: 1-я переменная - 8:00 последнего понедельника 2-я переменная - 8:00 предпоследнего понедельника (т.е. разница между переменными это неделя)

Я пробовал это, но он показывает время 00:00

SELECT DATEADD (wk, DATEDIFF (wk, 6, GETDATE ()), 0)

ВЫБРАТЬ ДОБАВЛЕНИЕ ДАТЫ (нед., РАЗНДАТ (нед., 6, ПОЛУЧИТЬ ДАТУ ()), 7)

1 Ответ

0 голосов
/ 17 июня 2020

Не уверен, что это ответ на ваш вопрос, но ниже отображается дата в европейском формате с 8:00 в качестве времени. Если вам нужен американский формат, вам может потребоваться изменить функцию dateadd ().

Немного вложено, но посмотрите, помогает ли это

РЕДАКТИРОВАТЬ: Сделано проще и изменено исходное код.

set DATEFIRST 1 --Monday

select

cast(concat(convert(varchar,dateadd(dd,1 - datepart(dw,getdate()),getdate()),101),' 8:00') as datetime)
,cast(concat(convert(varchar,dateadd(dd,1 - datepart(dw,getdate()),getdate()+7),101),' 8:00') as datetime)

Посмотрите, работает ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...