mysql 获取当年第一天的年月日格式:

SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY);

MySQL里获取当前周、月、季的第一天/最后一天

当前一周的第一天:

select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 1 DAY)

当前一周的最后一天:

select date_sub(curdate(),INTERVAL WEEKDAY(curdate())5 DAY)

前一周的第一天:

select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 8 DAY)

前一周的最后一天:

select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 2 DAY)

前两周的第一天:

select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 15 DAY)

前两周的最后一天:

select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 9 DAY)

当前月的第一天:

SELECT concat(date_format(LAST_DAY(now()),’%Y-%m-’),’01′)

当前月的最后一天:

SELECT LAST_DAY(now())

前一月的第一天:

SELECT concat(date_format(LAST_DAY(now() – interval 1 month),’%Y-%m-’),’01′)

前一月的最后一天:

SELECT LAST_DAY(now() – interval 1 month)

前两月的第一天:

SELECT concat(date_format(LAST_DAY(now() – interval 2 month),’%Y-%m-’),’01′)

前两月的最后一天:

SELECT LAST_DAY(now() – interval 2 month)

当前一季的第一天:

select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-3 month),’%Y-%m-’),’01′)

当前一季的最后一天:

select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-1 month)

前一季的第一天:

select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-6 month),’%Y-%m-’),’01′)

前一季的最后一天:

select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-4 month)

前两季的第一天:

select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-9 month),’%Y-%m-’),’01′)

前两季的最后一天:

select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-7 month)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐