Первый день этой недели и прошлой недели - PullRequest
2 голосов
/ 19 июля 2009

В настоящее время я получаю значения первого дня этой недели и прошлой недели с функцией vbscript в формате 12.02.2009. Мне было интересно, если это было возможно с запросом SQL.

Ответы [ 3 ]

8 голосов
/ 19 июля 2009

Эти операторы должны делать то, что вы хотите в TSQL. Обратите внимание, что заявления основаны на текущей дате. Вы можете заменить getdate () на любую дату, которую пожелаете:

Select dateadd(wk, datediff(wk, 0, getdate()) - 1, 0) as LastWeekStart
Select dateadd(wk, datediff(wk, 0, getdate()), 0) as ThisWeekStart
Select dateadd(wk, datediff(wk, 0, getdate()) + 1, 0) as NextWeekStart

Здесь много других подпрограмм даты .

2 голосов
/ 16 апреля 2013

Ответ Бена дает неправильный ответ, если сегодня воскресенье. Независимо от того, является ли первый день недели воскресеньем или понедельником, текущая дата должна быть включена в текущую неделю. Когда я запускаю его код для 24.03.2013, он дает мне ThisWeekStart от 25.03.2013. Вместо этого я использовал следующий код: SELECT DATEADD (ДЕНЬ, 1 - DATEPART (DW, '3/24/2013'), '24.03.2013')

0 голосов
/ 27 июля 2013

Получить первый день текущей недели.
для дополнительной информации используйте эту ссылку.

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_dayofweek

select date(curdate()-DAYOFWEEK(curdate()-1)) as dat;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...