Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola amigos,
Sei que tem como pegar apenas o dia ou o mês em um campo data de um BD e comparar com a data de hoje, mas não sei como fazer. Alguém pode me dar um força???
Grato antecipadamente.
Posso fazer
$mes = date('m');
.... where month(data)=$mes... ????
Se você estiver armazenando a data no formato yyyy-mm-dd hh:ii:ss
você pode fazer da seguinte forma:
SELECT substr(campo_data,9,2) AS dia FROM tabela
Se estiver armazenado em outro formato é só ajustar os parametros da substr
substr(campo, quantos_caracteres_a_partir_do_inicio, quantos_caracteres_serao_mostrados)
no caso acima mostra 2 caracteres a partir do 9° caracter.
Abs
Colegas, a partir da ajuda de vcs consegui chegar a uma solução melhor:
vdia = date('d');
vmes = date('m');
select * from tabela where extract(month from campo_data) = vmes and extract(day from campo_data) = vdia;
funcionou beleza.... espero que isto venha a ajudar a mais alguém...
Grato a todos.
Se o seu campo for data tipo date(Y-m-d), você usaria:
MONTH(data)
YEAR(data)
DATE(data) - acho
ex.:
$mes = '03';
...WHERE MONTH(data) = '$mes'...