`
robinfung
  • 浏览: 57058 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

MYSQL中获取当前Week、Month、Quarter的Start Date(开头日期)/End Date(结尾日期)

阅读更多
当前week的第一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 1 DAY) ;
select DATE_ADD(curdate(), INTERVAL(1-DAYOFWEEK(curdate())) DAY);

当前week的最后一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 5 DAY)
select DATE_ADD(curdate(), INTERVAL(7-DAYOFWEEK(curdate())) 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)

 

转载自:http://hi.baidu.com/olsonlowey/blog/item/1ea03664751f7ff8f73654c2.html

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Gbase 8s内置函数之日期函数

    本文将详细介绍Gbase 8s内置函数中的日期函数,包括SYSDATE、CURRENT、TODAY、LAST_DAY、YEAR、MONTH、DAY、WEEKDAY、QUARTER、ADD_MONTHS、TO_DATE和TO_CHAR等函数。 1. SYSDATE、CURRENT和TODAY函数 SYSDATE、...

    python获取指定日期范围内的每一天,每个月,每季度的方法

    首先,需要将字符串格式的`begin_date`转换为datetime对象,同样地,将当前日期也转换为datetime对象。然后利用一个while循环,通过不断给开始日期添加天数来遍历每一天。每次循环中,将格式化后的日期字符串添加到...

    Mysql获取当前日期的前几天日期的方法

    在MySQL数据库中,获取当前日期或特定日期的前几天日期是一个常见的需求,这通常涉及到日期运算。MySQL提供了丰富的日期和时间函数来处理这类问题。这里我们将深入探讨如何利用`DATE_SUB()`函数来获取指定日期的前几...

    MySQL日期时间函数大全

    `MONTH` 函数返回日期 `date` 中的月份数值,返回值范围是 1 到 12。 示例: ```sql mysql> select MONTH('1998-02-03'); -> 2 ``` DAYNAME(date) `DAYNAME` 函数返回日期 `date` 是星期几,以英文名返回。 示例...

    MySQL时间日期相关函数

    在MySQL中,这些函数提供了丰富的功能,包括获取当前日期和时间、格式化日期、时间间隔计算以及进行日期时间的比较等。以下是一些常用的时间日期函数的详细说明: 1. **NOW()**: - NOW() 函数返回当前日期和时间...

    mysql 日期函数相关操作

    这行代码返回当前日期与`date_col`列中每个日期之间的天数差。 ### 2. `DAYOFWEEK(date)` `DAYOFWEEK()`函数返回指定日期是一周中的哪一天,范围从1(星期日)到7(星期六)。这是基于ODBC标准的。 示例: ```sql...

    很详细全面的mysql日期比较

    本文将基于提供的示例代码及描述,详细介绍MySQL中日期比较的方法与技巧,并结合多种日期函数的应用场景来帮助读者更好地理解和掌握这一核心技能。 #### 1. 使用`TO_DAYS()`进行日期比较 在MySQL中,`TO_DAYS()`...

    Mysql日期和时间函数大全[归类].pdf

    * QUARTER(date):返回日期的一年中的季度,范围在1到4。 * WEEK(date):返回日期的周数,范围在0到52。 * YEAR(date):返回日期的年份,范围在1000到9999。 时间函数 Mysql也提供了多种时间函数,用于处理时间...

    MySQL日期查询[定义].pdf

    MySQL 日期查询是 MySQL 中的一种查询方式,用于处理日期和时间相关的数据。它提供了多种函数来操作日期和时间,包括日期查询、日期计算、日期比较等。 日期查询函数 MySQL 提供了多种日期查询函数,用于查询日期...

    mysql 日期函数

    - **ADDDATE(date, INTERVAL expr type)** 和 **SUBDATE(date, INTERVAL expr type)**:这些函数在功能上与DATE_ADD和DATE_SUB相同,但在某些版本的MySQL中可能被弃用,建议使用DATE_ADD和DATE_SUB。 #### 3. 日期...

    Mysql日期转换[借鉴].pdf

    * QUARTER(date):返回日期 date 在一年中的季度,范围是 1 到 4。 * WEEK(date):返回日期 date 的周数,范围是 0 到 52。 * YEAR(date):返回日期 date 的年份,范围是 1000 到 9999。 时间函数 ------------- ...

    mysql时间日期函数

    在MySQL数据库中,时间日期函数是处理与时间相关的数据时不可或缺的一部分。这些函数提供了丰富的功能,可以帮助用户在查询、更新或插入数据时精确地操作日期和时间。下面将详细介绍几个核心的时间日期函数及其应用...

    mysql的日期和时间函数

     -> ’February’ QUARTER(date) 返回 date 在一年中的季度,范围为 1 到 4: mysql> SELECT QUARTER(’98-04-01’); -> 2 WEEK(date) WEEK(date,first) 对于星期日是一周中的第一天的场合,如果...

    MySql日期汇总

    本文将详细介绍MySQL中几种常用的日期处理函数,包括`DAYOFWEEK()`、`WEEKDAY()`、`DAYOFMONTH()`等,并通过具体示例来展示它们的用法。 #### DAYOFWEEK(date) **函数定义:** `DAYOFWEEK(date)` 函数用于返回给定...

    MysqL时间处理函数

    MySQL时间处理函数是数据库操作中不可或缺的部分,它们用于创建、修改和分析与日期和时间相关的数据。MySQL提供了丰富的函数库来处理各种时间/日期相关的计算和转换,这使得在存储和检索时间信息时非常灵活。 1. **...

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

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

    用php获取本周,上周,本月,上月,本季度日期的代码

    使用`date('Y-m-d', strtotime('monday this week'))`获取本周的周一日期,`date('Y-m-d', strtotime('sunday this week'))`获取本周的周日日期。 ```php function getThisWeekRange() { $startOfWeek = date('Y-...

    MySQL时间日期格式化

    本文将重点介绍MySQL中与时间日期相关的格式化函数及其应用场景,帮助读者更好地理解和掌握这些函数。 #### 二、常用的时间日期格式化函数 ##### 1. **TO_DAYS** - **语法**:`TO_DAYS(date)` - **用途**:将日期...

    PL_SQL生成日期维度表

    这个过程接收两个参数:`begin_date` 和 `end_date`,分别表示起始日期和结束日期。 ```sql CREATE OR REPLACE PROCEDURE sp_generate_date_dimension( begin_date IN VARCHAR2, end_date IN VARCHAR2 ) IS ...

    MySql工作中常用

    例如,CURDATE()函数返回当前日期,NOW()函数返回当前日期和时间。如果你需要将这些函数的结果转换为数值,可以加上0,如CURDATE() + 0和NOW() + 0,这样会去掉日期和时间的格式,使其可进行数值比较。 查询时间...

Global site tag (gtag.js) - Google Analytics