none
Com criar um trimestre RRS feed

  • Pergunta

  • Boa tarde,

    Estou precisando uma ajuda, que não sei como resolver.

    Estou a desenvolver uma aplicação de registo negócios, onde os mesmo são carregados numa tabela com a data.

    Nessa tabela estou a identificar o mês de negócio e queria agora fazer uma consulta onde ele me devolve-se os negócios do trimestre.

    Eu não sei como fazer isso. Devo criar uma coluna na tabela de trimestre? Se sim que função devo colocar deforma ao fazer o insert do negócio ele identifique o trimestre que corresponde?

    Não tendo nada do que estou a indicar em cima a unica consulta que consigo executar é com isto < = dateadd(mm,3,getdate() e naturalmente ele não funciona correctamente pois ele devolve os últimos 3 meses sendo estes mês 12, 1 e 2. O trimestre é composto neste caso o 1º por mês 1, 2 e 3.

    Podem ajudar?

    terça-feira, 12 de fevereiro de 2013 13:50

Respostas

  • Boa tarde, eu acharia melhor você fazer essa verificação na hora de realizar a consulta, aí você faria algo assim:

    DECLARE @TRIMESTRE INT
    
    --Se você gravar o mês como um número
    SELECT * FROM Tabela
    WHERE Mes BETWEEN @TRIMESTRE*3-2 AND @TRIMESTRE*3
    
    --Se você gravar o mês como um datetime
    SELECT * FROM Tabela
    WHERE DATEPART(M,Data) BETWEEN @TRIMESTRE*3-2 AND @TRIMESTRE*3

    Nessa variável @TRIMESTRE você indica de qual trimestre você quer carregar.

    Espero que tenha ajudado!

    terça-feira, 12 de fevereiro de 2013 18:50
  • Faça com que no select traga a data dos ultimos três meses, 

    Tipo, você têm a data do dados que estão sendo carregados na tabela,  

    então na hora do select, traga os dados do mês que está na data - 3, aí traz os dados do ultimo trimestre,

    é isso?

    quarta-feira, 13 de fevereiro de 2013 23:46

Todas as Respostas

  • Boa tarde, eu acharia melhor você fazer essa verificação na hora de realizar a consulta, aí você faria algo assim:

    DECLARE @TRIMESTRE INT
    
    --Se você gravar o mês como um número
    SELECT * FROM Tabela
    WHERE Mes BETWEEN @TRIMESTRE*3-2 AND @TRIMESTRE*3
    
    --Se você gravar o mês como um datetime
    SELECT * FROM Tabela
    WHERE DATEPART(M,Data) BETWEEN @TRIMESTRE*3-2 AND @TRIMESTRE*3

    Nessa variável @TRIMESTRE você indica de qual trimestre você quer carregar.

    Espero que tenha ajudado!

    terça-feira, 12 de fevereiro de 2013 18:50
  • Faça com que no select traga a data dos ultimos três meses, 

    Tipo, você têm a data do dados que estão sendo carregados na tabela,  

    então na hora do select, traga os dados do mês que está na data - 3, aí traz os dados do ultimo trimestre,

    é isso?

    quarta-feira, 13 de fevereiro de 2013 23:46