MySQL获取本日、本月,本周,本季度初末数据

获取本日初末数据:

SELECT DATE_FORMAT( CURDATE(), '%Y-%m-%d 00:00:00') AS '本日初';                

SELECT DATE_FORMAT( CURDATE(), '%Y-%m-%d 23:59:59') AS '本日末';                

 

获取本周初末数据:

SELECT DATE_FORMAT( SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-1), '%Y-%m-%d 00:00:00') , '本周一'
union all
SELECT DATE_FORMAT( SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-7), '%Y-%m-%d 23:59:59') , '本周末';

获取本月初末数据:

SELECT DATE_FORMAT( CURDATE(), '%Y-%m-01 00:00:00') , '本月初'
union all
SELECT DATE_FORMAT( LAST_DAY(CURDATE()), '%Y-%m-%d 23:59:59') , '本月末';

 

获取本季度初末数据:

select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-3 month),'%Y-%m-'),'01 00:00:00') as '本季度初';

 

select concat(DATE_FORMAT(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-1 month),'%Y-%m-%d')," 23:59:59") as '本季度末' from dual

 

补充:

-- 返回昨天
select DATE_SUB( curdate( ), INTERVAL 1 DAY )

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

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

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

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

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

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

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

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

-- 返回本月第一天
select date_sub(curdate(),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_FORMAT( CURDATE(), '%Y-01-01 00:00:00') from dual;

-- 返回本年最后一天
select DATE_FORMAT( CURDATE(), '%Y-12-31 23:59:59') from dual;

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

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

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

-- 返回上季度最后一天
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'))

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值