Filtrar por DATA ATUAL vs DD/MM

Pessoal, meu cadastro de clientes possui o campo indicando a profissão de cada um e a data de nascimento e eu gostaria de parabenizá-los todos os anos. Alguém poderia me dar algumas dicas de como gravar a data comemorativa? (pois neste caso a data não estaria vinculada a um ano específico)

A outra questão é, como eu poderia fazer o filtro ignorando o ano?

Obrigado.

Ola,

Existe muitas formas de fazer isto, vamos a algumas

  1. Opcao 1 - Ano atual:
    Assumir o ano atual entao qualquer dia e mes que o usuario digitar voce salva com o ano atual.
    No teu relatorio ou lista de aniverariantes voce so filtra a data mes/dia

  2. Opcao 2 - String
    Uma outra forma que eu ja fiz isto foi salvar em uma string 4 ou 5 (ja fiz os dois)
    mm/dd ou mmdd e voce filtra esta string quando for fazer a tua lista

  3. Opcao campo birthmonth e birthday
    Outra opcao seria criar dois campos um para os mes MM e outro para o dia e salvar separado no banco e facilmente filtrar.

Cada uma das solucoes tem sua vantagem e desvantagens

Escolha uma e manda bala.

Espero ter ajudado.

CL

Obrigado pela resposta.

Fuçando bastante eu achei um SQL bem interessante:

select nome, telefone, celular, endereco from pessoa
WHERE
(month(datanasc) = month(now()) and day(datanasc) = (day(now()))+0) or
(month(datanasc) = month(now()) and day(datanasc) = (day(now()))+1) or
(month(datanasc) = month(now()) and day(datanasc) = (day(now()))+2) or
(month(datanasc) = month(now()) and day(datanasc) = (day(now()))+3) or
(month(datanasc) = month(now()) and day(datanasc) = (day(now()))+4) or
(month(datanasc) = month(now()) and day(datanasc) = (day(now()))+5) or
(month(datanasc) = month(now()) and day(datanasc) = (day(now()))+6)
order by day(datanasc) asc

Quanto à questão do SQL, está resolvido. Porém, minha dúvida agora é como colocar no filtro o mês e dia de referência [ month(now) ou (day(now()))+n. ]. Ou seja, como eu poderia relacionar as opções do filtro com o código SQL.

Obrigado.

select year(datanasc) as ano, month(datanasc) as mes, day(datanasc) as dia, … from tabela

os campos ano, mês e dia estarão disponíveis no filtro