Pular para o conteúdo

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

Dica publicada em Banco de Dados / MySQL
Rogério Bragil bragil
Hits: 23.649 Categoria: Banco de Dados Subcategoria: MySQL
  • Indicar
  • Impressora
  • Denunciar

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"

Limpando a "sujeirinha" no buffer do teclado

Gerando números aleatórios em C

Comandos úteis do MySQL

Entrando no MySQL 5.6 (as dificuldades de acessar o MySQL 5.6)

phpMyAdmin no Linux Mint e Ubuntu

Backup de banco de dados MySQL com mysqldump

MariaDB escutando TCP/IP no Slackware

#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

Entre na sua conta para comentar.