`

MYSQL中取当前周/月/季/年的第一天与最后一天

阅读更多
转自:https://blog.csdn.net/cleanfield/article/details/41447585
--当年第一天:
SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY);
 
--当年最后一天:
SELECT concat(YEAR(now()),'-12-31');  
 
--当前week的第一天:  
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 1 DAY);
 
--当前week的最后一天:  
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 5 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);
 
--当前month的第一天:  
SELECT DATE_ADD(curdate(),interval -day(curdate())+1 day);
 
--当前month的最后一天:  
SELECT  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的日期和时间函数

     -> 2 WEEK(date) WEEK(date,first) 对于星期日是一周中的第一天的场合,如果函数只有一个参数调用,返回 date 为一年的第几周,返回值范围为 0 到 53 (是的,可能有第 53 周的开始)。两个参数形式的 ...

    Mysql数据库连接驱动

    第一章,前一章,下一章, 最后一章, 目录. -------------------------------------------------------------------------------- 1 MySQL 的一般信息 这是MySQL参考手册;它记载了MySQL版本3.23.7-alpha。 MySQL...

    mysql 将字段time按天/月/年分组

    假设表中有一个字段time,格式为Unix...按月,按年分组方法一样,只需要修改convert()方法第一个参数的长度。 您可能感兴趣的文章:分组后分组合计以及总计SQL语句(稍微整理了一下)SQL SERVER 分组求和sql语句MY

    每隔2周休息1天工厂日历生成

    每隔两周休息一天的工厂日历可以使用以下描述生成: 创建一个空的工厂日历表。 获取开始日期,通常是当前日期。 循环遍历每一天,从开始日期开始。 判断当前日期是否是休息日。如果是,则在工厂日历表中将该日期...

    MYSQL,SQLSERVER,ORACLE常用的函数

    返回日期的最后一天 SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual; TO_CHAR(SY TO_CHAR((S ---------- ---------- 2004.05.09 2004.05.10 SQL> select last_day...

    2023年80分tencent的Mysql云数据库产品认证答案

    因为公司需要这个证件,所以去考,但是网上到处找不到,所以自己认证学习了一天,终于压线过了,为了其他需要的人不再花费大量精力去学习用不到的技能,所以上传这份文档便于大家参考,本次题库及答案仅作为当前使用...

    Mysql指定日期区间的提取方法

    那么,我们就需要首先获取当前日期的一些信息,如当前日期是本周第几天、本月第几天等,然后,才能做下一步处理。 一、在提取所需日期区间之前,我们先介绍几个常用的函数 -- 先运行这一句 SET @t = '2018-07-26 11...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例128 获取数组中最后一个元素 158 实例129 去除数组中的重复元素 158 实例130 字符串与数组的转换 159 实例131 对数组元素进行随机排序 160 实例132 随机抽取数组中元素 161 实例133 二维数组的输出 162 实例134 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例128 获取数组中最后一个元素 158 实例129 去除数组中的重复元素 158 实例130 字符串与数组的转换 159 实例131 对数组元素进行随机排序 160 实例132 随机抽取数组中元素 161 实例133 二维数组的输出 162 实例134 ...

    t淘淘商城项目 商城项目 视频和源码教程 详细

    第一天 讲师:传智.入云龙 1. 聊聊电商行业 1.1. 电商行业发展  近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化、相关服务业蓬勃发展、支撑体系不断健全完善、...

    cmd操作命令和linux命令大全收集

    它在 Windows NT/2000/XP 中均可使用,但在 Windows 98 中却没有集成这一个工具。 4. explorer-------打开资源管理器 5. logoff---------注销命令 6. shutdown-------60秒倒计时关机命令 7. lusrmgr.msc----本机...

    计算机专业毕业实习日记.docx

    计算机专业毕业实习日记全文共2页,当前为第1页。计算机专业毕业实习日记全文共2页,当前为第1页。计算机专业毕业实习日记 计算机专业毕业实习日记全文共2页,当前为第1页。 计算机专业毕业实习日记全文共2页,当前...

    入门学习Linux常用必会60个命令实例详解doc/txt

    hda1中的“1”代表hda的第一个硬盘分区 (partition),hda2代表hda的第二主分区,第一个逻辑分区从hda5开始,依此类推。此外,可以直接检查 /var/log/messages文件,在该文件中可以找到计算机开机后系统已辨认出来的...

    仿世纪佳缘婚介交友系统5.3 ASP+SQL

    、登录每次赠送金币,会员每天登录赠送金币数,系统设计一天只能赠送一次。  (5)邮件选项设置: 、邮件组件选择(不支持、JMAIL、CDONTS、ASPEMAIL),一般虚拟主机都是安装Jmail组件。用鼠标选择下拉菜单...

    亿百天教室预约系统 EbaitianCRS20130308.zip

    目前是国内第一套经过大量数据测试、20万次抗压力测试、众多高校已使用、功能最完善的教室网上预约平台。【测试帐号/密码均为:ebaitian】 预约系统的在线演示:http://yuyue.demo.ebaitian.cn:8181/ 测试用户名均为...

    基于JAVA的校园商铺平台的设计与实现(1).docx

    V 第一章 绪 论 1 1.1 选题依据、目的及意义 1 1.1.1 选题依据 1 1.1.2 选题目的和意义 1 1.2国内外的现状 1 1.2.1 国外的现状 1 1.2.2 国内的研究现状 2 第二章 可行性分析 2 2.1 社会可行性 2 2.2 技术可行性 2 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分别表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据,在具体...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    此外,还要考虑开发人员的水平,学习了两年的jsp开发,对于这个系统的编写,我想完整的之需要两个月就可以写出程序,再花上几天的调试,计划两个月左右就可以完成投入使用了。 我们掌握了数据库及其应用技术、...

    易语言程序免安装版下载

    修改BUG:超级列表框在属性“整行选择”为真时,鼠标单击第一列右面也会导致第一列中的选择框被选中或取消选中。 21. 修改BUG:Sqlite3数据库支持库中“Sqlite数据库.取错误文本()”返回的文本是UTF-8编码(应是GB...

    程序员的SQL金典6-8

     11.7.4 计算销售单制单日期所在月份的第一天和最后一天  11.8 结果集转置  11.8.1 将结果集转置为一行  11.8.2 把结果集转置为多行  11.9 递归查询  11.9.1 Oracle中的CONNECT BY子句  11.9.2 Oracle中的SYS...

Global site tag (gtag.js) - Google Analytics