IDADE DO CANDANGO

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

E ai pessoal, beleza?? -- frase tipica do meu amigo Cristiano (Tineks) , rs

pessoal acredito que essa vocês tiram de letra preciso pegar a idade das pessoas diminuir pelo nosso ano para pegar a idade fiz assim e não funfou

Selecionar tudo

FLOOR (TRUNC (U.NASCIMENTO_TITULAR) - TRUNC (SYSDATE)) IDADE,
ele retorna assim:


Selecionar tudo

nascimento_titular | idade

12/02/1947           | -22212

o que posso fazer para melhorar isso :?:
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

E ai Carlos, beleza? hehehehehe (pra não perder o costume)....

então, o calculo de idade pode ser feito de varias formas, segue abaixo uma forma de se fazer... caso alguém tenha alguma outra sugestão será muito bem vinda! :)

Selecionar tudo

SELECT FLOOR (FLOOR (MONTHS_BETWEEN (SYSDATE, DT_NASCIMENTO)) / 12) idade
  FROM minha_tabela
[]'s!!
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

PESSOAL EU PERGUNTEI E EU MESMO RESOLVI, RS

TEM COMO FAZER DESSA FORMA:

Selecionar tudo

IDADE(U.NASCIMENTO_TITULAR, Sysdate) Idade
AQUI ELE TROUXE CERTINHO.
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

Cristiano (Tineks) valeu mais uma vez cara, o seu deu certo também acabei postando esse de cima sem ter visto que você havia postado mas valeu mesmo primo!







:D
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

Carlos, eu fiquei tentando mecher aqui, e percebi qui aquele primeiro comando qui você postou está certo, era só você colocar uma divisao depois...

pois o resultado qui deu, foi em dias =D
então se você dividir por 365 ou 366 vai dar o resultado correto =D
Responder
  • Informação