Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Augusto Costa

Cálcular Qtd meses em um período

Recommended Posts

Boa tarde a todos.

 

Hoje tive um problema que creio será de interesse de todos.

Precisei verificar quantos meses existiam em um intervalo de datas, não importando o dia que era informado em ambas datas.

 

Pesquisando encontrei o comando months_between que faz esse cálculo, o que seria o mais indicado para isso, mas ele sozinho não resolveu meu problema.

 

No caso imaginem se o usuário informar a data inicial 31/12/2007 e 01/01/2008 e em outra pesquisa ele informar 01/01/2008 e 31/01/2008, o resultado do months_between arredondando seria "1" nas duas pesquisas, só que na verdade na primeira que envolve um intervalo de dias entre um mês e outro não seria satisfatório.

 

 

Cheguei a seguinte solução consultando um de meus colegas de trabalho.

 

Na primeira pesquisa o resultado teria que ser "2" e na outra "1":

 

Resolvendo o problema:

round( months_between(last_day(p_data_final),trunc(p_data_inicial,'MM') ) );

 

esse script irá retornar quantos meses foram inseridos no período.

 

Espero ter ajudado!

 

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

interessante.

agradecemos por compartilhar

 

 

realmente tem que tomar cuidado com resultados de funções do oracle.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.