SQL 1-го числа месяца до конца месяца - PullRequest
3 голосов
/ 26 августа 2010

У меня есть @StartDate и @ EndDate.

Мне нужно, чтобы @StartDate был днем ​​выполнения запроса (который всегда будет первым в месяце), а @EndDate - точнымконец месяца, независимо от того, будет ли месяц 30 или 31 день и т. д.

1 Ответ

6 голосов
/ 26 августа 2010

Рабочий пример:

DECLARE @StartDate DATETIME, @EndDate DATETIME

SET @StartDate = '2010-01-01 00:00:00.000'
SET @EndDate = DATEADD(m, 1, @StartDate)

SELECT @StartDate, @EndDate - 1

Обычно вы хотите взять дату начала, добавить один месяц (это то, что делает DATEADD), а затем вычесть один день.

Вывод этого запроса:

StartOfMonth            EndOfMonth
----------------------- -----------------------
2010-01-01 00:00:00.000 2010-01-31 00:00:00.000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...