`

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

阅读更多
http://my.oschina.net/zx0211/blog/698252


#当年第一天:
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 concat(date_format(LAST_DAY(now()),'%Y-%m-'),'01');

#当前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中获取一天、一周、一月时间数据的各种sql语句写法

    3. 获取上个月第一天: ```sql SELECT DATE_SUB( DATE_SUB( NOW( ) , INTERVAL DAYOFMONTH( NOW( ) ) -1 DAY ) ,INTERVAL 1 MONTH ); ``` 这些函数如`DATE_SUB()`和`INTERVAL`结合使用,可以实现日期的加减操作。 ...

    获得指定月的和第一秒和最后一秒

    标题中的“获得指定月的和第一秒和最后一秒”指的是在编程中获取特定月份的第一天的零时零分零秒和最后一天的最后一秒的时间戳,这通常涉及到日期和时间的处理。在Java中,我们可以使用`java.time`包或者旧的`java....

    mysql 查询当天、本周、当月、本季度等数据

    在MySQL数据库中,进行时间范围查询是常见的操作,特别是在数据分析和报表生成的场景下。本文将详细介绍如何使用SQL语句查询当天、本周、当月、本季度以及本年的数据。 首先,我们来看如何查询当天的数据。MySQL...

    根据输入的日期获取所属季度

    - 如果月份在1-3月之间,则属于第一季度; - 如果月份在4-6月之间,则属于第二季度; - 如果月份在7-9月之间,则属于第三季度; - 如果月份在10-12月之间,则属于第四季度。 3. **结果返回**: 返回表示季度的...

    MySql工作中常用

    DAYOFMONTH()给出日期在当月的哪一天,范围从1到31,DAYOFYEAR()则返回日期在当年的第几天,范围从1到366。MONTH()函数返回日期所在的月份,值为1到12。DAYNAME()和MONTHNAME()分别返回日期对应的星期名和月份名。...

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

    接下来,如果要按照月或年分组,可以稍微调整`CONVERT`函数的第一个参数长度。对于月份分组,只需日期部分即可,因此可以缩短为`char(7)`: ```sql SELECT CONVERT(char(7), time, 120) AS month_by_month, COUNT(*...

    mysql查询昨天 一周前 一月前 一年前的数据

    2. 查询当月的最后一天,可以通过获取下个月的第一天并减去一天得到: ```sql SELECT DATE_SUB(LAST_DAY(NOW()), INTERVAL 1 DAY); ``` 3. 查询某字段值在当月的数据,可以结合 `MONTH()` 函数: ```sql WHERE ...

    mysql的日期和时间函数

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

    MySQL中查询某一天, 某一月, 某一年的数据代码详解

    在MySQL数据库中,查询特定日期范围内的数据是常见的操作,特别是在数据...此外,还可以结合`BETWEEN`或`DATE()`、`MONTH()`、`YEAR()`等函数查询特定日期范围内的数据,例如查询上月最后一天到下月第一天之间的数据。

    MySQL常用函数的举例及例子

    - **POSITION(substr, str)**:返回子串`substr`在字符串`str`中第一次出现的位置。 - 示例:`POSITION('o' IN 'Hello')`返回4。 - **QUOTE(str)**:用反斜杠转义`str`中的单引号。 - 示例:`QUOTE('It\'s me')`...

    Mysql数据库连接驱动

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

    mysql 日期函数相关操作

    `DAYOFWEEK()`函数返回指定日期是一周中的哪一天,范围从1(星期日)到7(星期六)。这是基于ODBC标准的。 示例: ```sql SELECT DAYOFWEEK('1998-02-03'); ``` 返回值为3,表示1998年2月3日是星期二。 ### 3. `...

    SAMS Teach Yourself MySQL In 21 Days

    - **第4天:** 实际操作创建第一个数据库,并了解基本的数据库结构。 - **第5天:** 学习数据规范化的重要性及其对提高数据库性能的影响。 - **第6天:** 掌握如何添加表、列和索引到数据库中,以及这些元素如何...

    MySQL常用函数大全

    - **DAYOFWEEK(date)**: 返回日期`date`是一周中的第几天(1=星期天, 7=星期六)。 - **DAYOFMONTH(date)**: 返回日期`date`是当月的第几天。 - **DAYOFYEAR(date)**: 返回日期`date`是一年的第几天。 - **DAYNAME...

    Java实现:月,日,年,周,访问量统计

    但是,不同地区对一周的第一天有不同的定义(比如在美国是星期日,而在一些欧洲国家是星期一)。你需要根据目标地区的习惯来确定每周的起始日。 5. **统计方法**:你可以编写方法来计算特定时间范围内的访问量,...

    详解mysql 获取当前日期及格式化

    - `%U` 和 `%u`:周数(0到52),周日为一周的第一天或周一 - `%M`:月名(January到December) - `%b`:缩写的月名(Jan到Dec) - `%m` 和 `%c`:两位数表示的月份 - `%Y`:四位数表示的年份 - `%y`:两位数表示的...

    mysql数据库windows定时备份dos

    在这个场景中,我们可以利用DOS命令行工具来实现这一功能,无需复杂的第三方软件。下面将详细介绍如何在Windows 7、Windows 10以及Windows Server 2008等操作系统上设置MySQL的定时备份。 首先,我们需要了解DOS...

    mysql备份shell脚本与备份文件的还原 ,每日和每月备份shell脚本,重要参数说明,还原时的主要问题分析与解决

    每月1号的备份脚本可以稍微修改一下,添加一个条件检查是否是本月的第一天: ```bash #!/bin/bash # ... (同上) # 检查是否为本月第一天 if [ $(date +%d) -eq 1 ]; then MONTHLY_DATE=$(date +%Y%m) mysqldump ...

Global site tag (gtag.js) - Google Analytics