MySQL 查询当前年份的第一天和最后一天、当前季度的第一天和最后一天、当前月份的第一天和最后一天、当前周的第一天和最后一天。
年份
当前年份第一天
1
| SELECT DATE_SUB(CURDATE(), INTERVAL DAYOFYEAR(NOW()) - 1 DAY) AS '当前年份的第一天';
|
当前年份最后一天
1
| SELECT CONCAT(YEAR(NOW()), '-12-31') AS '当前年份的最后一天';
|
季度
当前季度第一天
1
2
| SELECT MAKEDATE(YEAR(CURDATE()), 1) + INTERVAL QUARTER(CURDATE()) QUARTER - INTERVAL 1 QUARTER -
INTERVAL +1 MONTH AS '当前季度的第一天';
|
当前季度最后一天
1
| SELECT LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()), 1) + INTERVAL QUARTER(CURDATE()) * 3 - 1 MONTH) AS '当前季度的最后一天';
|
当前月份
当前月份的第一天
1
| SELECT DATE_SUB(CURDATE(), INTERVAL DAYOFMONTH(NOW()) - 1 DAY) AS '当前月份的第一天';
|
当前月份的最后一天
1
| SELECT LAST_DAY(NOW()) AS '当前月份的最后一天';
|
当前周
当前周的第一天
1
| SELECT DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) + 0 DAY) AS '当前周的第一天';
|
当前周的最后一天
1
| SELECT DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) - 6 DAY) AS '当前周的最后一天';
|