Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, seguinte:
Tenho um campo date no meu banco MySql, para buscar os campos dia e mês, separei por combos, até então ok
SELECT
*
FROM
tb_cliente
WHERE
MONTH( datanascimento_cliente ) = '03'
AND
DAY( datanascimento_cliente ) = '01'
Porém quando preciso buscar um intervalo de datas como faço?
(dia/mes) inicial com (dia/mes)final
Tentei fazer algo parecido com isso porém sem sucesso
SELECT
*
FROM
tb_cliente
WHERE
datanascimento_cliente
BETWEEN
(MONTH( datanascimento_cliente ) = '03' AND DAY( datanascimento_cliente ) = '01')
AND
(MONTH( datanascimento_cliente ) = '03' AND DAY( datanascimento_cliente ) = '31')
Alguém pode me ajudar?
vlw e t+
Precisa ter um intervalo de ano também...
SELECT * FROM tb_cliente WHERE datanascimento_cliente BETWEEN '2013-03-01' AND '2013-03-31';
Caso contrário, ele vai localizar entre o intervalo somente de mês, dia e ano de qualquer ano, sendo assim, você poderia colocar o ano inicial em 0000, e o final em qualquer ano superior ou o ano atual: 2013
Pensando bem se trabalhar com mes e dia como string (preenchendo) zeros a esquerda creio que resolva.
where data_format(data_nascimento,'%m%d') between data_format(datade,'%m%d') and data_format(dataate,'%m%d')
datade e dataate seriam parametros
vlw vou testar!
Extraia o mes e dia da data de nascimento do registro da tabela
Monte uma data "fajuta" Com um ano base 2012 por exemplo
Compare esta data fajuta com o intervalo que vc quer usando o mesmo ano fajuto
Tinha uma exemplo aqui no Imasters mas não consegui localizar com este botão de pesquisa