Вижте следната техника в MySQL, ако трябва да разберете колко дни в месеца има въз основа на дадена дата.
Пример
Най-лесният начин да го обясните е с пример:
SELECT DAYOFMONTH(LAST_DAY('2030-04-15'));
Резултат:
30
Тук предадохме LAST_DAY()
функция към DAYOFMONTH()
функция.
Така че предадохме датата на LAST_DAY()
функция, за да получите датата на последния ден от месеца. След това използвахме DAYOFMONTH()
функция за връщане само на номера на деня от последния ден.
Ето един пример, който минава през всички месеци на годината:
SELECT
DAYOFMONTH(LAST_DAY('2030-01-15')) AS "Jan",
DAYOFMONTH(LAST_DAY('2030-02-15')) AS "Feb",
DAYOFMONTH(LAST_DAY('2030-03-15')) AS "Mar",
DAYOFMONTH(LAST_DAY('2030-04-15')) AS "Apr",
DAYOFMONTH(LAST_DAY('2030-05-15')) AS "May",
DAYOFMONTH(LAST_DAY('2030-06-15')) AS "Jun",
DAYOFMONTH(LAST_DAY('2030-07-15')) AS "Jul",
DAYOFMONTH(LAST_DAY('2030-08-15')) AS "Aug",
DAYOFMONTH(LAST_DAY('2030-09-15')) AS "Sep",
DAYOFMONTH(LAST_DAY('2030-10-15')) AS "Oct",
DAYOFMONTH(LAST_DAY('2030-11-15')) AS "Nov",
DAYOFMONTH(LAST_DAY('2030-12-15')) AS "Dec";
Резултат:
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 31 28 31 30 31 30 31 31 30 31 30 31