Вычисление длины месяца

Задача
Вы хотите узнать, сколько дней в месяце.

Решение
Определите последний день месяца и извлеките из результата часть день-месяца.

Обсуждение
Чтобы вычислить количество дней для месяца, к которому относится указанная дата, определите дату последнего дня месяца (см. предыдущий раздел) и извлеките из результата значение DAYOFMONTH():

mysql> SELECT d,
-> DAYOFMONTH(DATE_SUB(
-> DATE_ADD(DATE_SUB(d,INTERVAL DAYOFMONTH(d)-1 DAY),INTERVAL 1 MONTH),
-> INTERVAL 1 DAY))
-> AS 'days in month'
-> FROM date_val;

+--------------+------------------+
| d | days in month |
+--------------+------------------+
| 1864-02-28 | 29 |
| 1900-01-15 | 31 |
| 1987-03-05 | 31 |
| 1999-12-31 | 31 |
| 2000-06-04 | 30 |
+--------------+------------------+

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела MySQL на эту тему:
Выбор записей по временным характеристикам
Вывод значений TIMESTAMP в удобном для чтения виде
Вычисление возраста
Вычисление интервалов между значениями времени
Вычисления для високосных годов

Вернуться в раздел: MySQL / 5. Работа с датами и временем