Ir para conteúdo

POWERED BY:

Arquivado

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

rodrigonc

consulta

Recommended Posts

Pessoal, olá bom dia!

 

Estou com muita dúvida ao fazer uma consulta sql no postgres (mas pode ser em qualquer linguagem de banco só pra ter uma noção mesmo), é o seguinte preciso trazer do banco uma consulta que me retorne as pessoas que vao completar 24 anos daqui a 2 meses, e na tabela so tenho a data de nascimento dela, provalvelmente como são datas diferentes vou ter que fazer um calculo mas não sei como faze-lo. Alguém poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde amigo,

 

Olha, achei esse artigo: http://rodrigomaia.net/2011/05/12/operacoes-com-datas-usando-o-interval-no-postgresql/

 

Parece bem simples e pode te ajudar eu creio, qualquer coisa estamos aí a disposição também. Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, Bom Dia!

 

Fiz uma consulta aqui deu certo mas o porém é que essa consulta não me retorna o ano de 1988 ano de quem tem 24 anos nasceu , será alguma coisa matemática ou tem a ver com o sinal de >?

 

O código:

 

select * from dependente where dt_nasc < (now() - interval '286 MONTH')

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigo,

 

Tenta fazer um SELECT (now() - interval '286 MONTH') pra ver o que é retornado pra você, ou até com valores maiores.

 

Chegou a tentar subsitutuir a unidade MONTH por YEAR ? Não é citada naquele artigo por isso não sei se dá certo. Qualquer coisa pesquise sobre essa função INTERVAL.

 

A disposição, abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A melhor solução é criar uma FUNCTION que tenha dois parametros :

 

data de nascimento

data de cálculo, default data do sistema

 

retorno um inteiro com a idade

 

A vantagem é a reutilização.

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.