• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL里获取目前week、month、quarter的start_date/end_date_mysql

mysql 搞代码 7年前 (2018-06-07) 156次浏览 已收录 0个评论

mysql里获取当前week、month、quarter的start_date/end_date
当前week第一天

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

当前week最后一天

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

前一week的第一天:

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

前一week的最后一天:

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

前两week的第一天:

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

前两week的最后一天:

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

获取本周内的数据:

 create_date>=date_sub(now(),INTERVAL WEEKDAY(now()) + 1 day) " +            "and create_date<=date_sub(now(),INTERVAL WEEKDAY(now()) - 5 DAY)

当前month的第一天:

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

当前month的最后一天:
SELECT LAST_DAY(now())

查询当前月内的数据

 SELECT * from resource_article where  create_date>=concat(date_format(LAST_DAY(now()),'%Y-%m- %T'),'01') and create_date<=LAST_DAY(now()) ; 

前一month的第一天:

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

前一month的最后一天:

SELECT LAST_DAY(now() - interval 1 month) 

前两month的第一天:

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

前两month的最后一天:

SELECT LAST_DAY(now() - interval 2 month) 

季度:
当前quarter的第一天:

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

当前quarter的最后一天:

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

前一quarter的第一天:

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

前一quarter的最后一天:

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

前两quarter的第一天:

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

前两quarter的最后一天:

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

欢迎大家阅读《MySQL里获取目前week、month、quarter的start_date/end_date_mysql,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL里获取目前week、month、quarter的start_date/end_date_mysql

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址