SQL Server “Denali” – Função EOMONTH()

Compartilhe este artigo!

Sobre o autor

Entre em contato...

Redação ForumWeb

Redação ForumWeb Equipe de desenvolvimento do ForumWeb.com.br, responsável pelas dicas e downloads do site.

Site do autor: http://www.forumweb.com.br

Indique este artigo

Para

Seu email

Mensagem

Fechar
Personalize sua mensagem

Código

Arquivos relacionados

  • Por enquanto, nenhum arquivo para download.

SQL Server “Denali” – Função EOMONTH()

Segunda-Feira, 22 de Agosto de 2011 às 11:12

O SQL Server Denali introduz uma nova função datetime a EOMONTH(). A EOMONTH() retorna o último dia do mês para a data dada. Ele também aceita um argumento opcional que é um número inteiro para adicionar/remover meses a partir da data especificada.

Sintaxe:

EOMONTH( start_date [, months_to_add] )

E pode ser usado como no exemplo abaixo:

SELECT DATEADD(s, -1, DATEADD(mm, DATEDIFF(m, 0, GETDATE()) + 1, 0))
       AS 'Último dia do mês', --Versões antigas
       EOMONTH(GETDATE())
       AS 'Último dia do mês',
       DATEADD(s, -1, DATEADD(day, 1, EOMONTH(GETDATE())))
       AS 'Último dia do mês'
       --Parte do tempo 23:59:59

Resultado:

Último dia do mês 		Último dia do mês		Último dia do mês
———————– 			———————– 			———————–
2011-08-31 23:59:59.000 	2011-08-31 00:00:00.000 	2011-08-31 23:59:59.000

Você pode usar o DATEADD() e o EOMONTH() para calcular o primeiro dia do mês:

SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0)
       AS 'Primeiro dia do mês', --Versões antigas
       DATEADD(day, 1, EOMONTH(GETDATE(), -1))
       AS 'Primeiro dia do mês'

Resultado:

Primeiro dia do mês		Primeiro dia do mês
———————– 			———————–
2011-08-01 00:00:00.000 	2011-08-01 00:00:00.000

Autor/Fonte: SQL & Me

Qual a sua opinião?

Comente e interaja!



Ainda sem comentários, comente!