1.-- 获取当前日期上个月份最后一天
select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(
day from now()) day),interval 0 month) as date
2.获取当前日期上月月份
SELECT date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y %m');
3.时间戳和日期互相转换
SELECT FROM_UNIXTIME(1596097001);
SELECT UNIX_TIMESTAMP("2020-10-19 00:00:00");
#当年第一天:SELECTDATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1DAY);
#当年最后一天:SELECTconcat(YEAR(now()),'-12-31');
#当前week的第一天: selectdate_sub(curdate(),INTERVAL WEEKDAY(curdate())+1DAY);
#当前week的最后一天: selectdate_sub(curdate(),INTERVAL WEEKDAY(curdate())-5DAY);
#前一week的第一天: selectdate_sub(curdate(),INTERVAL WEEKDAY(curdate())+8DAY);
#前一week的最后一天: selectdate_sub(curdate(),INTERVAL WEEKDAY(curdate())+2DAY);
#前两week的第一天: selectdate_sub(curdate(),INTERVAL WEEKDAY(curdate())+15DAY);
#前两week的最后一天: selectdate_sub(curdate(),INTERVAL WEEKDAY(curdate())+9DAY);
#当前month的第一天: SELECTconcat(date_format(LAST_DAY(now()),'%Y-%m-'),'01');
#当前month的最后一天: SELECT LAST_DAY(now());
#前一month的第一天: SELECTconcat(date_format(LAST_DAY(now()-interval1month),'%Y-%m-'),'01');
#前一month的最后一天: SELECTLAST_DAY(now()-interval1month);
#前两month的第一天: SELECTconcat(date_format(LAST_DAY(now()-interval2month),'%Y-%m-'),'01');
#前两month的最后一天: SELECTLAST_DAY(now()-interval2month);
#当前quarter的第一天: selectconcat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEARFROMCURDATE()),1)+interval QUARTER(CURDATE())*3-3month),'%Y-%m-'),'01');
#当前quarter的最后一天: selectLAST_DAY(MAKEDATE(EXTRACT(YEARFROMCURDATE()),1)+interval QUARTER(CURDATE())*3-1month);
#前一quarter的第一天: selectconcat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEARFROMCURDATE()),1)+interval QUARTER(CURDATE())*3-6month),'%Y-%m-'),'01');
#前一quarter的最后一天: selectLAST_DAY(MAKEDATE(EXTRACT(YEARFROMCURDATE()),1)+interval QUARTER(CURDATE())*3-4month);
#前两quarter的第一天: selectconcat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEARFROMCURDATE()),1)+interval QUARTER(CURDATE())*3-9month),'%Y-%m-'),'01');
#前两quarter的最后一天: selectLAST_DAY(MAKEDATE(EXTRACT(YEARFROMCURDATE()),1)+interval QUARTER(CURDATE())*3-7month);