Ir para conteúdo

POWERED BY:

Arquivado

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

jroots

em Query

Recommended Posts

Pessoal,

 

Minha dúvida é a seguinte...

Quero fazer uma consulta que me retorne as pessoas nascidas no dia 01/01 por exemplo..

Na meu formulário envio data (via post) no formato mm-dd.. Consigo fazer a consulta utilizando Month na consulta mas não consigo fazer nada com o dia.. ou seja.. o usuário digita 12-01 (mm-dd) e a consulta utiliza somente 12 para montar o resultado...(ou seja não me retorna somentes as pessoas do dia 01) Alguém tem alguma ideia??? Preciso trabalhar com o dd também...

 

SELECT C.*, date_format( C.dteDataNascimento, '%e/%c' ) AS Nascimento 
FROM tbl_cadastro C 
WHERE month( C.dteDataNascimento ) >= ('01-01')
AND month( C.dteDataNascimento ) <= ('09-30')
ORDER BY strNome"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não testei, mas se não me engano pra filtrar por dia e mês você teria que fazer a SQL abaixo:

 

SELECT C.*, date_format( C.dteDataNascimento, '%e/%c' ) AS Nascimento

FROM tbl_cadastro C

WHERE month( C.dteDataNascimento ) = '01' and day( C.dteDataNascimento) = '12'

ORDER BY strNome

 

ps.: não lembro se precisa por o mês e o dia entre aspas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então... o lance é...

To recebendo duas datas (inicio e fim do relatório)

E preciso compara-las para pegar os aniversariantes do periodo informado ..

 

Ex:

Dados que estou recebendo...

inicio (mm-dd) - 10/01

fim (mm-dd) - 12/01

 

O banco deveria retornar os aniversariantes do mes de outubro, novembro e dezembro...

Mas não aconteceu dessa forma ...

Já tentei de varias maneiras e nada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não estou testando porque estou sem base MySQL aqui pra isso no momento, mas talvez uma select assim resolva:

 

SELECT C.*, date_format( C.dteDataNascimento, '%e/%c' ) AS Nascimento

FROM tbl_cadastro C

WHERE ((month( C.dteDataNascimento ) >= 10 and day( C.dteDataNascimento) >= 1)

AND (month( C.dteDataNascimento ) <= 12 and day( C.dteDataNascimento) <= 1))

ORDER BY strNome

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT C.*, date_format( C.dteDataNascimento, '%e/%c' ) AS Nascimento

FROM tbl_cadastro C

WHERE DATE_FORMAT( C.dteDataNascimento ,'%m%d' ) BETWEEN $de_mes$de_dia AND $ate_mes$ate_dia

ORDER BY strNome"

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.