Alternativa para a função LAST_DAY do MySQL
No MySQL, existe a simpática função LAST_DAY(). Como o nome sugere, ela pega o last day, o último dia do mês, de acordo com a data passada por parâmetro.
Ela é ótima para isso; ela funciona; e funciona bem!
Mas há um pequeno detalhe: LAST_DAY() está disponível a partir do MySQL 4.1.1.
A maioria das pessoas que leem este post, nunca enfrentaram e nem nunca precisarão enfrentar este problema. Porém, existem alguns desbravadores (como eu), que já passaram por isso (ou vão passar), já precisaram pegar o último dia do mês (ou vão precisar), em um servidor precário, onde existia um MySQL inferior ao 4.1.1.
São nestas horas que se consegue mostrar a criatividade!
Criei então uma alternativa ao LAST_DAY(), que também funciona muito bem, só não é tão simples. Aprecie:
DAYOFMONTH(DATE_SUB(CONCAT(YEAR(dt_nascimento),'-',MONTH(DATE_ADD(dt_nascimento,INTERVAL 1 MONTH)),'-01'),INTERVAL 1 DAY))
Deixe um comentário