Buscando intervalo de datas apenas pelo dia e mês no MySQL

Publicado por Rogério Bragil em 04/01/2007

[ Hits: 22.893 ]

Blog: http://www.bragil.net

 


Buscando intervalo de datas apenas pelo dia e mês no MySQL



Recentemente precisei fazer um filtro que buscasse datas entre um período indicado apenas pelo dia e mês, desprezando o ano. Encontrei uma forma simples de fazer da seguinte forma:

SELECT * FROM TABELA WHERE RIGHT(data,5) BETWEEN '11-10' AND '12-05'

A função RIGHT() pega o número de caracteres (indicado no segundo argumento) do campo (especificado no primeiro argumento), da direita para a esquerda. No caso do campo ser do tipo date, a data é armazenada no formato YYYY-MM-DD, então right(data,5) retorna o formato MM-DD (as informações do mês e dia).

Então, traduzindo a query acima ao pé da letra:

"trazer todos os campos de TABELA onde o mês e dia do campo DATA estejam entre mês 11 - dia 10 E mês 12 - dia 05"

Outras dicas deste autor

Limpando a "sujeirinha" no buffer do teclado

Gerando números aleatórios em C

Leitura recomendada

Ubuntu 6 com MySQL permitindo conexão remota

Erro ao iniciar o MySQL

Acelerando a velocidade de conexão das páginas do MSN-Proxy

Instalação do MySQL e Workbench no Fedora 25

Erro ao conectar no servidor MySQL

  

Comentários
[1] Comentário enviado por hunto em 06/01/2007 - 11:39h

creio que a melhor forma seja usar DAY e MONTH para pegar o dia e mês, tem que testar qual retorna mais rápido, por usar somente uma vez RIGHT pode ser que essa seja a melhor forma.. porém não sei qual função executa mais rápido.. só testando.. abraço



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts