Jump to content
manolegal

Postgresql - Calcular meses entre datas

Recommended Posts

Bom dia

No cálculo de total de meses entre 02 datas no Postgresql, a consulta está trazendo o valor sem considerar o "dia do mês", ou seja, não está considerando se o dia da data inicial é igual ou superior ao dia da data final:

SELECT (CAST(TO_CHAR(AGE('2020-04-29', '2019-07-28'),'MM') AS INTEGER) +
 (CAST(TO_CHAR(AGE('2020-04-29', '2019-07-28'),'YY') AS INTEGER))*12) AS MESES;

Neste caso, o resultado deveria se "8", porém está retornando "9". Como faço para resolver este problema?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By manolegal
      Olá amigos(as) do Fórum.
      Tenho um número inteiro no PHP e preciso inseri-lo no Postgresql com 02 casas decimais.
      Defini o campo no Postgresql do tipo numeric(14,2)
      O valor está assim no PHP:
      2961966 Preciso gravar no BD da seguinte maneira:
      29619.66 Porém está gravando da seguinte forma:
      2961966.00 Tentei utilizando number_format, porém não consegui:
      $numero_bd = number_format($numero, '.', ''); $numero_bd = number_format($numero,2,"."); $numero_bd = number_format($numero,2,","numerovalor_ref_15,2,",","."); Caso alguém possa me ajudar, desde já agradeço.
    • By rsrodrigoam
      Alguém poderia me ajudar com a seguinte consulta?   Tab_base gtin(PK) | cod_entr | aliq_entr | cod_saida | aliq_saida     Tab_consulta cod_barra | cod_entr | aliq_entr | cod_saida | aliq_saida | status_saida | corr_saida | status_entr | corr_entr    A Tab_consulta é importada e deve consultar se existe o cod_barra igual ao gtin da Tab_base. Em caso positivo, preciso consultar os campos que tem informação na Tab_consulta de códigos e alíquotas, quando tiver informação cruzar com a Tab_base para validar se está correto, se estiver correto (status_* = 'OK'), se estiver diferente (status_* = 'inválido' and corr_* = "alíquota certa vindo da Tab_base").   Desde já agradeço a ajuda.
    • By luisfeliperm2
      Quero selecionar 10 noticias do banco de dados, irei utilizar paginação, então na próxima pagina será selecionada da 11-20, 21-30. Só que em todos esses select eu quero que venha a noticia principal que é definida pela coluna "destaque".  O motivo é que eu não quero usar 2 select pra buscar noticias.
      Pra ser bem resumido, eu quero selecionar a noticia principal e depois selecionar mais 10 que podem ser qualquer uma
       
      Tentei da seguinte forma:
      select * from news where destaque = true UNION select * from news ORDER BY id DESC LIMIT 10 OFFSET 1;
    • By luisfeliperm2
      Como posso estar recebendo backups todos os dias do banco de dados postgresql através do meu email ? Preciso fazer isso no Windows 2012
    • By Abelfs
      Meus caros,
       
      Como posso solucionar este erro na criação desta tabela?
       
       
      create table item_pedido
       (
       no_pedido smallint not null,
       cd_produto smallint not null,
       qtd_pedido float not null
       FOREIGN KEY (num_pedido) REFERENCES PEDIDO (num_ped),
       FOREIGN KEY (cd_produto) REFERENCES PRODUTO (cod_prod));
       
      ERRO:  erro de sintaxe em ou próximo a "FOREIGN"
      LINE 6:  FOREIGN KEY (num_pedido) REFERENCES PEDIDO (num_ped),
               ^

      ********** Error **********
      ERRO: erro de sintaxe em ou próximo a "FOREIGN"
      SQL state: 42601
      Character: 118
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.