How to select first, last days of month and year

SELECT LAST_DAY(CURDATE()) + INTERVAL 1 DAY – INTERVAL 1 MONTH AS first_day_of_month,
LAST_DAY(CURDATE()) AS last_day_of_month,
MAKEDATE(YEAR(CURDATE()), 1) AS first_day_of_year,
MAKEDATE(YEAR(CURDATE()), 1) + INTERVAL 1 YEAR – INTERVAL 1 DAY AS last_day_of_year