Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Precise de uma query que selecione em uma tabela os atletas com uma determinada idade, sendo que no campo dn eu armazeno a data de nascimento (date).
Segundo alguns tutoriais é possível criar uma expressão para subtrair o ano da data de nascimento com o ano da data atual assim eu terei uma idade levando em consideração apenas o ano e desconsiderando o mês e o dia de nascimento.
Descobri então que hipoteticamente é possível comparar se o mês/dia atual é maior ou menor que o mês/dia de nascimento subtraindo então ‘0’ ou ‘1’ ao resultado da subtração do ano.
a logica seria esta:
Calculando as datas atual e nascimento (2011/12/04 - 1985/04/05)
Então tenho
2011 – 1985 – (1204 > 0504) //retorna true 1 ou false 0
26 – 0
26
E tudo isto no mysql... maaaas... não deu certo não! :natalmad:
Gostaria de saber se é possível fazer desta forma.
O script que criei usando estas informações foi este:
$result = mysql_query( "SELECT nome, dn,
(YEAR(CURDATE()) - RIGHT(nascimento, 4)) - < LEFT(nascimento, 5)) AS idade
FROM atletas
WHERE (YEAR(CURDATE()) - YEAR(dn, 4)) = 26" );
Aqui a tentativa foi selecionar os atletas com 26 anos de idade. Lembrando que esta tentativa foi só para tentar descobrir se é possível proceder desta forma. Na aplicação real o valor da data atual será uma string capturada de um formulário com a data do evento e a idade (26) uma string capturada de um selectCarregando comentários...