locked
Como retornar o ultimo dia do mes ? RRS feed

  • Pergunta

  • quero fazer uma stored procedure !

    Dentro dela, precisarei do ultimo dia do mês, e sempre tem aquela historia do ano bissexto.
    Estive pesquisando no msdn sobre as funçoes de data e hora, ...
    contudo nao encontrei nenhuma função do Sql Server (uso o 2005), que me retorne o último dia do mês.

    Como se faz isso ?
    Valew !

    Acabei postado no local, errado. Poderia mover para o local adequadro por favor
    domingo, 7 de junho de 2009 01:06

Respostas

  • Boa Noite,

    Segue uma tentativa

    declare @data smalldatetime, @ultimodia smalldatetime
    set @data = getdate()
    
    set @ultimodia = dateadd(m,1,dateadd(d,-day(@data),@data))
    set @ultimodia = cast(convert(char(8),@ultimodia,112) as smalldatetime)
    
    select @ultimodia

    Peço que na próxima coloque a dúvida em um fórum de desenvolvimento ou de programação avançada de SQL. Essa dúvida não está relacionada a esse fórum.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como eliminar linhas duplicadas e repetições no SQL Server
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!584.entry


    Classifique as respostas. O seu feedback é imprescindível
    domingo, 7 de junho de 2009 02:16
  • Use o código a seguir

     

    declare @data date, @ultimodia int

    set @data = CONVERT(date,'12/31/2011')

    set @ultimodia =   day(DATEADD(d,-day(DATEADD(D,30,@data)),DATEADD(D,30,@data)))

    select @ultimodia

    quinta-feira, 29 de setembro de 2011 19:08

Todas as Respostas

  • Boa Noite,

    Segue uma tentativa

    declare @data smalldatetime, @ultimodia smalldatetime
    set @data = getdate()
    
    set @ultimodia = dateadd(m,1,dateadd(d,-day(@data),@data))
    set @ultimodia = cast(convert(char(8),@ultimodia,112) as smalldatetime)
    
    select @ultimodia

    Peço que na próxima coloque a dúvida em um fórum de desenvolvimento ou de programação avançada de SQL. Essa dúvida não está relacionada a esse fórum.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como eliminar linhas duplicadas e repetições no SQL Server
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!584.entry


    Classifique as respostas. O seu feedback é imprescindível
    domingo, 7 de junho de 2009 02:16
  • Maia,

    Aparentemente é isso mesmo!!!
     


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    segunda-feira, 8 de junho de 2009 16:25
    Moderador
  • Use o código a seguir

     

    declare @data date, @ultimodia int

    set @data = CONVERT(date,'12/31/2011')

    set @ultimodia =   day(DATEADD(d,-day(DATEADD(D,30,@data)),DATEADD(D,30,@data)))

    select @ultimodia

    quinta-feira, 29 de setembro de 2011 19:08