`

mysql日期 获取本月第一天 获取下个月的第一天

 
阅读更多
select curdate();                       --获取当前日期
select last_day(curdate());                    --获取当月最后一天。
select DATE_ADD(curdate(),interval -day(curdate())+1 day);   --获取本月第一天
select date_add(curdate()-day(curdate())+1,interval 1 month); -- 获取下个月的第一天
select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual; --获取当前月的天数

    #当年第一天: 
    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); 
分享到:
评论

相关推荐

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

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

    请教用sql实现通过已知的年,月,第几周和周几,得到具体的日期

    -- 计算该月第一天是星期几 DECLARE @FirstDayOfWeek INT = DATEPART(WEEKDAY, DATEFROMPARTS(@Year, @Month, 1)); -- 第一周的开始日期 DECLARE @StartDate DATE = DATEADD(DAY, 1 - (@FirstDayOfWeek + (@WeekNum...

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

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

    mysql的日期和时间函数

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

    MySql日期汇总

    默认情况下,星期天被视为一周的第一天。可以通过提供第二个参数来指定一周是从星期一开始还是从星期天开始。 **示例代码:** ```sql SELECT WEEK('1998-02-20', 0); -- 第二个参数为0,表示从星期天开始 ``` **输出...

    mysql日期函数总结

    第一个命令返回值为199803,表示从1998年1月开始后的两个月;第二个命令返回值为11,表示从1997年3月至1998年2月之间的月份数。 - **应用场景**: - 用于计算时间段的长度。 #### DATE_ADD(date, INTERVAL expr ...

    mysql 日期函数.txt

    可以通过第二个参数 `first` 来指定一周的第一天是星期日(0)还是星期一(1)。返回值范围为0至52或53。 **示例**: ```sql SELECT WEEK('1998-02-20'); ``` 输出结果:`7` ```sql SELECT WEEK('1998-02-20', 0); ...

    mysql的时间和日期函数

    第二个参数可选,用于指定每周的第一天是星期几,默认情况下第一周从星期一(0)开始,如果传入1,则从星期日开始计算第一周。例如: - `SELECT WEEK('1998-09-20');` 返回38,表示第九个月的第38周。 - `SELECT ...

    mysql日期处理函数实例解析

    此函数用于计算两个日期之间的差值,第一个参数指定单位(如`YEAR`、`MONTH`、`DAY`等),后两个参数是待比较的日期。例如,`SELECT TIMESTAMPDIFF(YEAR, birthday, NOW()) AS age FROM t_student;`将计算每个学生...

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

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

    mysql中格式化日期详解

    第一个查询将返回 Unix 时间戳对应的日期时间,第二个则按照指定的格式输出。 在实际应用中,`DATE_FORMAT()` 和 `FROM_UNIXTIME()` 非常实用,可以帮助你根据需求定制日期和时间的展示方式。例如,在报表、日志...

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

    这个存储过程逐天遍历输入的日期范围,为每一天生成包含日期ID、日期名称、日期所在月份、年份、季度、星期等详细信息的记录。它还根据星期几判断是否为周末,并根据周的起始日期和结束日期生成周名称。存储过程完成...

    不同条件的日期查询 和同年查询

    - 获取当前月份的第一天: ```sql SELECT TRUNC(SYSDATE, 'MONTH') AS first_day_of_month FROM DUAL; ``` - 获取当前月份的最后一天: ```sql SELECT LAST_DAY(SYSDATE) AS last_day_of_month FROM DUAL; ```...

    MySQL习题及答案.docx

    - **`DAYOFMONTH(date)`:**返回给定日期是一月中的第几天。 - 示例:`SELECT DAYOFMONTH('1998-02-03');` - 结果:3 - **`DAYOFYEAR(date)`:**返回给定日期是一年中的第几天。 - 示例:`SELECT DAYOFYEAR('...

    MySQL面试题整理1.doc

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

    MYSQL标准企业面试题

    - `DAYOFMONTH()`返回一个月中的第几天,范围1到31。 - `DAYOFYEAR()`返回一年中的第几天,范围1到366。 - `MONTH()`返回月份,范围1到12。 - `DAYNAME()`返回星期的名称。 - `MONTHNAME()`返回月份的名称。 - `...

    MySQL最新最全面试题和答案.docx

    - **DAYOFMONTH()**:返回日期是一月中的第几天,范围1到31。 - **DAYOFYEAR()**:返回日期是一年中的第几天,范围1到366。 - **MONTH()**:返回日期中的月份,范围1到12。 - **DAYNAME()**:返回日期对应的星期...

    MySQL面试题和答案陆小马功钟浩.pdf

    - DAYOFMONTH:返回给定日期是一个月中的第几天。 - DAYOFYEAR:返回给定日期是一年中的第几天。 - MONTH:返回给定日期的月份。 - DAYNAME:返回给定日期对应的星期名称(如Tuesday)。 - MONTHNAME:返回给定...

    Mysql 常用的时间日期及转换函数小结

    `返回1,表示2018年的第一天。 7. **month(date)**:返回日期中的月份,数值范围从1到12。例如`SELECT month('2018-04-21');`返回4,表示2018年4月。 8. **dayname(date)**:返回日期是星期几的英文名称。例如`...

Global site tag (gtag.js) - Google Analytics