none
fazer calculos com datas RRS feed

  • Pergunta

  • bom dia,

    estou trabalhando numa query sql, onde tenho 2 entradas que são datas. a minha ideia é através de uma data de entrada (ex: 05-05-2014), fazer um calculo para colocar a segunda data de um ano anterior (ex:05-05-2013).

    se possivel, mas não tão importante, colocar no inicio do mes e manter somente esse mes fixo. .. (ex: 01-05-2013)

    vi que é possivel fazer calculo com data onde consigo apanhar o ano anterior a data passada dessa seguinte forma: SELECT DATEPART(YY,Getdate()) - 1

    agora como concatenar esta data é que nao sei bem. alguma ajuda?

    segunda-feira, 5 de maio de 2014 13:47

Respostas

  •  CONVERT(Datetime,'01/'+DATEPART(MM,Getdate())+'/'+DATEPART(YYYY,Getdate()) - 1, 103)



    • Editado Edno Fedulo segunda-feira, 5 de maio de 2014 14:51 Correção
    • Marcado como Resposta flaviodantas terça-feira, 6 de maio de 2014 10:49
    segunda-feira, 5 de maio de 2014 14:50
  • Flavio,

    Veja o script abaixo para sua necessidade:

    SELECT CAST(DATEADD(yy, -1, (getdate() - DAY(getdate() - 1))) AS date);

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    • Marcado como Resposta flaviodantas terça-feira, 6 de maio de 2014 10:50
    segunda-feira, 5 de maio de 2014 14:46
    Moderador
  • Deleted
    • Marcado como Resposta flaviodantas terça-feira, 6 de maio de 2014 10:49
    segunda-feira, 5 de maio de 2014 23:56

Todas as Respostas

  • Esclareça mais sua dúvida e qual calculo você quer fazer?
    segunda-feira, 5 de maio de 2014 14:32
  • Flavio,

    Veja o script abaixo para sua necessidade:

    SELECT CAST(DATEADD(yy, -1, (getdate() - DAY(getdate() - 1))) AS date);

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    • Marcado como Resposta flaviodantas terça-feira, 6 de maio de 2014 10:50
    segunda-feira, 5 de maio de 2014 14:46
    Moderador
  •  CONVERT(Datetime,'01/'+DATEPART(MM,Getdate())+'/'+DATEPART(YYYY,Getdate()) - 1, 103)



    • Editado Edno Fedulo segunda-feira, 5 de maio de 2014 14:51 Correção
    • Marcado como Resposta flaviodantas terça-feira, 6 de maio de 2014 10:49
    segunda-feira, 5 de maio de 2014 14:50
  • Deleted
    • Marcado como Resposta flaviodantas terça-feira, 6 de maio de 2014 10:49
    segunda-feira, 5 de maio de 2014 23:56
  • Obrigada pessoal,

    todos os exemplos me forem úteis. era exactamente isso que precisava. problema resolvido. :)

    terça-feira, 6 de maio de 2014 10:51