Как я добираюсь в последний день на месяце с помощью SQL Reporting Services

В SQL Server Reporting Services, как я вычислил бы в последний день текущего месяца?

15
задан Cory 14 December 2013 в 03:54
поделиться

4 ответа

Вот ответ, к которому я пришел

=DateSerial(Year(Now()), Month(Now()), "1").AddMonths(1).AddDays(-1)
40
ответ дан 30 November 2019 в 23:54
поделиться

вы можете использовать сборку для выполнения этой работы, добавив ее в качестве ссылки.

-1
ответ дан 30 November 2019 в 23:54
поделиться

Из блога члена команды Microsoft SQL Team:

-- returns the last day of the current month.
select dbo.Date(year(getdate()), month(getdate())+1,0)

http://weblogs.sqlteam.com/jeffs/archive/2007/01/02/56079.aspx

Надеюсь, это поможет! --Dubs

0
ответ дан 30 November 2019 в 23:54
поделиться

Я знаю, что вы нашли свой ответ, но я бы предложил такую ​​альтернативу:

=Today.AddDays(1-Today.Day).AddMonths(1).AddDays(-1)

На мой взгляд, это немного легче читать , и может иметь немного лучшую производительность (хотя, скорее всего, незаметную)

И, конечно, если вы хотите увеличить эту дату до 23:59:59, как это часто бывает необходимо, просто немного измените:

=Today.AddDays(1-Today.Day).AddMonths(1).AddSeconds(-1)
10
ответ дан 30 November 2019 в 23:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: