015.mysql-取上个数据期,并将数值插入到变量中、返回前一天、前一个月、前一周、前一个季度

取上个数据期,并将数值插入到变量中

        /*
        上个季度的数据期
        */
        DECLARE max_period int4;

        select DATE_FORMAT(date_sub(concat(year(now()),'-',lpad((quarter(now())-1)*3+1,2,'0'),'-01'),interval 1 day),'%Y%m') into max_period ;
-- 返回昨天
select DATE_SUB( curdate( ), INTERVAL 1 DAY )

-- 返回上周第一天
select date_sub(now(),interval dayofweek(now())-1+6 day)

-- 返回上周最后一天
select date_sub(now(),interval dayofweek(now())-1 day)

-- 返回本周第一天
select date_sub(now(),interval dayofweek(now())-2 day)

-- 返回本周最后一天
select date_add(now(),interval 7-dayofweek(now())+1 day)

-- 返回下周第一天
select date_add(now(),interval 7-dayofweek(now())+1+1 day)

-- 返回下周最后一天
select date_add(now(),interval 7-dayofweek(now())+1+7 day)

-- 返回上月第一天
select concat(year(now()),'-',lpad(month(now())-1,2,0),'-01')

-- 返回上月最后一天
select date_sub(now(),interval extract(DAY from now())-1+1 day)

-- 返回本月第一天
select date_sub(now(),interval extract(DAY from now())-1 day)

-- 返回本月最后一天
select last_day(now())

-- 返回下月第一天
select date_add(last_day(now()),interval 1 day) 

-- 返回下月最后一天
select last_day(date_add(last_day(now()),interval 1 day ))

-- 返回上年第一天
select concat(year(now())-1,'-01-01')

-- 返回上年最后一天
select concat(year(now())-1,'-12-31')

-- 返回本年第一天
select date_sub(now(),interval dayofyear(now())-1 day)

-- 返回本年最后一天
select concat(year(now()),'-12-31')

-- 返回下年第一天
select date_add(concat(year(now()),'-12-31'),interval 1 day)

-- 返回下年最后一天
select concat(year(now())+1,'-12-31')

-- 返回上季度第一天
select concat(year(now()),'-',lpad((quarter(now())-1)*3-2,2,'0'),'-01')

-- 返回上季度最后一天
select date_sub(concat(year(now()),'-',lpad((quarter(now())-1)*3+1,2,'0'),'-01'),interval 1 day)

-- 返回本季度第一天
select concat(year(now()),'-',lpad((quarter(now())-1)*3+1,2,'0'),'-01')

-- 返回本季度最后一天
select last_day(concat(year(now()),'-',lpad(quarter(now())*3,2,0),'-01'))

-- 返回下季度第一天
select concat(year(now()),'-',lpad((quarter(now()))*3+1,2,'0'),'-01')

-- 返回下季度最后一天
select last_day(concat(year(now()),'-',lpad((quarter(now())+1)*3,2,0),'-01'))
原文地址:https://www.cnblogs.com/star521/p/14171792.html