KUROL3 3 Denunciar post Postado Dezembro 28, 2010 Olá a todos estou com uma dúvida de como fazer para exibir os aniversariantes de now() "hoje" até 30 dias para frente alguem poderia ajudar tentei não deu certo select * from usuarios where DATE(NOW()) <= DATE(REPLACE(data_nascimento, YEAR(data_nascimento), YEAR(CURDATE()))) tentei assim tb não deu certo DATE(NOW())BETWEEN DATE(REPLACE(data_nascimento, YEAR(data_nascimento), YEAR(CURDATE()))) AND DATE_ADD(REPLACE(data_nascimento, YEAR(data_nascimento), YEAR(CURDATE())), INTERVAL 30 DAY) eu não posso usar o month pq não é do mes atual e sim da data de hj até 30 dias para frente... Marco Compartilhar este post Link para o post Compartilhar em outros sites
João Paulo Taraciuk 0 Denunciar post Postado Dezembro 30, 2010 Poderia ser algo como: SELECT Codigo, DataCad FROM TABELA WHERE(DataCad BETWEEN CAST(NOW() AS DATE) AND(DATE_ADD(CAST(NOW() AS DATE), INTERVAL 30 DAY))) Eu sempre procuro converter as datas devido aos minutos, quando os mesmos não são utilizados, porque em determinados relatórios, algumas informações podem não aparecer. Compartilhar este post Link para o post Compartilhar em outros sites
KUROL3 3 Denunciar post Postado Janeiro 2, 2011 Não testei o seu código pois não dará certo ... pq você está pesquisando entre hj e 30 dias para frente.. sem levar em consideração que o aniversário "ex: o meu é " 02/02/1979 está a mais de 30 anos para trás. Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Janeiro 2, 2011 Cara isso vai precisar de uma serie de adaptações creio eu Bom fiz rapidamente uma forma de identificar o proximo aniversario de cada um Usei a base de dados daqui do forum que é em mysql também Só que ela possui um campo para o dia, um para o mes e um para o ano então precisei juntar tudo aqui mas se no seu caso for um campo só apenas retire os CONCAT que eu usei SELECT Nome, CONCAT(Ano_Nascimento, '-', Mes_Nascimento, '-', Dia_Nascimento), IF( UNIX_TIMESTAMP(CONCAT(YEAR(NOW()), '-', Mes_Nascimento, '-', Dia_Nascimento, ' 00:00:00')) > UNIX_TIMESTAMP(), FROM_UNIXTIME(UNIX_TIMESTAMP(CONCAT(YEAR(NOW()), '-', Mes_Nascimento, '-', Dia_Nascimento, ' 00:00:00'))), FROM_UNIXTIME(UNIX_TIMESTAMP(CONCAT(YEAR(NOW()) + 1, '-', Mes_Nascimento, '-', Dia_Nascimento, ' 00:00:00'))) ) AS Proximo_Aniversario FROM TABELA ORDER BY Mes_Nascimento, Dia_Nascimento Com isso temos o próximo aniversario ai seria apenas usar o que o João Paulo Taraciuk passou Compartilhar este post Link para o post Compartilhar em outros sites
KUROL3 3 Denunciar post Postado Janeiro 3, 2011 Cara isso vai precisar de uma serie de adaptações creio eu Bom fiz rapidamente uma forma de identificar o proximo aniversario de cada um Usei a base de dados daqui do forum que é em mysql também Só que ela possui um campo para o dia, um para o mes e um para o ano então precisei juntar tudo aqui mas se no seu caso for um campo só apenas retire os CONCAT que eu usei SELECT Nome, CONCAT(Ano_Nascimento, '-', Mes_Nascimento, '-', Dia_Nascimento), IF( UNIX_TIMESTAMP(CONCAT(YEAR(NOW()), '-', Mes_Nascimento, '-', Dia_Nascimento, ' 00:00:00')) > UNIX_TIMESTAMP(), FROM_UNIXTIME(UNIX_TIMESTAMP(CONCAT(YEAR(NOW()), '-', Mes_Nascimento, '-', Dia_Nascimento, ' 00:00:00'))), FROM_UNIXTIME(UNIX_TIMESTAMP(CONCAT(YEAR(NOW()) + 1, '-', Mes_Nascimento, '-', Dia_Nascimento, ' 00:00:00'))) ) AS Proximo_Aniversario FROM TABELA ORDER BY Mes_Nascimento, Dia_Nascimento Com isso temos o próximo aniversario ai seria apenas usar o que o João Paulo Taraciuk passou KARAKA QUE VIAGEM EM...!!!! BOM TA FALTANDO OS 30 DIAS .. MARCO Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Janeiro 3, 2011 Tentei mexer aqui mas não consegui progressos Compartilhar este post Link para o post Compartilhar em outros sites
KUROL3 3 Denunciar post Postado Janeiro 3, 2011 Tentei mexer aqui mas não consegui progressos Quando me pediram isso achei que faria em "2 palitos", porém na prática deu um nó.. sr abraços to tentando tb se conseguir algo publico aqui . Valeu pela Ajuda Marco Compartilhar este post Link para o post Compartilhar em outros sites