Archive for the ‘last day’ Tag

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))