Собственно, сам код:
SELECT MONTH( CONCAT(YEAR("2011-05-13"), "-02-29") );Разберем полученый код и его идею:
YEAR() -функция возвращающая год из даты
CONCAT() - функция для конкатенации строк в MySQL
MONTH() - функция возвращающая номер месяца из даты
Идея состоит в том что в 29 февраля (хххх-02-29) присутствует только в высокосном году и том что функция MONTH() возвращает NULL если дата не существует.
Как применять:
SELECT *, CASE WHEN MONTH( CONCAT(YEAR(date_field), "-02-29") ) = 2 THEN 366 ELSE 365 END AS dayscount FROM foo_table;
Комментариев нет:
Отправить комментарий