`

Mysql里获取当前week、month、quarter的第一天/最后一天

 
阅读更多
MySQL里获取当前week、month、quarter的第一天/最后一天
摘自:http://hideto.javaeye.com/blog/255816

当前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获取当前日期的前几天日期的方法

    - `unit`:这是时间单位,可以是`SECOND`、`MINUTE`、`HOUR`、`DAY`、`WEEK`、`MONTH`、`QUARTER`或`YEAR`。 例如,如果你想要获取当前日期的前一天,你可以这样写: ```sql SELECT DATE_SUB(CURDATE(), INTERVAL ...

    mysql的日期和时间函数

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

    mysql 关于详细时间应用

    - **WEEKDAY()**: 返回一周中的第几天,但与`DAYOFWEEK()`不同的是,一周的第一天被定义为星期一(即返回值为0)。 - **YEARWEEK()**: 返回一个年份和周数的组合。 示例代码: ```sql SET @dt = '2008-08-08'; ...

    MySQL日期时间函数大全

    在 MySQL 中,日期时间函数是非常重要的一部分,它们可以帮助我们对日期和时间进行各种操作。下面我们将对 MySQL 中的日期时间函数进行详细的讲解。 DAYOFWEEK(date) `DAYOFWEEK` 函数返回日期 `date` 是星期几,...

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

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

    MySql工作中常用

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

    Mysql时间轴数据 获取同一天数据的前三条

    这里我们探讨如何获取同一天数据的前三条记录,以及如何利用MySQL生成时间轴数据。 首先,我们创建一个名为`praise_info`的表,用于存储包含时间戳的数据。表结构如下: ```sql CREATE TABLE `praise_info` ( `id...

    mysql时间日期函数

    与`DAYOFWEEK()`类似,但起始点不同,`WEEKDAY()`将一周的第一天视为星期一(0表示星期一,1表示星期二,直到6表示星期天)。例如: ```sql SELECT WEEKDAY('1997-10-04 22:23:00'); ``` 结果为`5`,意味着1997年...

    mysql 日期函数相关操作

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

    MySQL时间日期格式化

    -- 星期天为一周第一天 ``` - **结果**:52 ```sql SELECT WEEK('2023-01-01', 1); -- 星期一为一周第一天 ``` - **结果**:1 - **应用场景**:可用于按周统计数据分析。 ##### 11. **YEAR** - **语法**:`...

    mysql数据库日期函数大全-fan.docx

    这条语句将当前日期减去 date_col 的日期,计算出 date_col 在最后 30 天以内的记录。 2. WEEKDAY 函数 WEEKDAY 函数用于返回日期的星期索引,范围从 0(星期一)到 6(星期天),例如: mysql> SELECT WEEKDAY('...

    Mysql 时间模糊查询

    - `DAYOFYEAR('1998-02-03')` 返回一年中的第34天。 - `MONTH('1998-02-03')` 返回2月。 - `DAYNAME("1998-02-05")` 返回星期四。 - `MONTHNAME("1998-02-05")` 返回二月。 - `QUARTER('98-04-01')` 返回第二季度。 ...

    MySQL常用函数大全

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

    MySQL时间日期相关函数

    - 返回给定日期所在月份的最后一天。 12. **EXTRACT()**: - 从日期时间中提取指定的时间部分(如 YEAR, QUARTER, MONTH 等)。 在实际应用中,这些函数常常结合使用,例如,用于过滤特定日期范围的数据、计算...

    MySQL习题及答案.docx

    - **`WEEKDAY(date)`:**返回给定日期是一周中的第几天,索引从0开始,表示星期一。 - 示例:`SELECT WEEKDAY('1998-02-03 22:23:00');` - 结果:1(表示星期一) - **`DAYOFMONTH(date)`:**返回给定日期是一月...

    很详细全面的mysql日期比较

    - **`DAYOFWEEK()`**: 返回指定日期是一周中的哪一天,索引范围从1到7(1代表星期天,7代表星期六)。此函数遵循ODBC标准。 示例: ```sql SELECT DAYOFWEEK('1998-02-03'); ``` - **`WEEKDAY()`**: 类似于`...

    MySQL面试题整理1.doc

    - `DAYOFWEEK(date)`:返回日期是一周中的哪一天,返回值从1(周日)到7(周六),符合ODBC标准。 - `WEEKDAY(date)`:返回日期是一周中的哪一天,返回值从0(周一)到6(周日)。 - `DAYOFMONTH(date)`:返回日期是...

    mysql 日期函数

    - **WEEK(date)**:返回一年中的周数,可以指定第一周的起始日是周一还是周日。 #### 4. 时间部分提取 - **HOUR(time)**:返回小时,范围在0到23之间。 - **MINUTE(time)**:返回分钟,范围在0到59之间。 - **...

    MySQL日期查询[定义].pdf

    * `QUARTER()`: 返回日期的一年中的季度,范围从 1 到 4。 * `WEEK()`: 返回日期的周数,范围从 0 到 52。 日期计算函数 MySQL 还提供了多种日期计算函数,用于计算日期和时间相关的数据。这些函数包括: * `...

Global site tag (gtag.js) - Google Analytics