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


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

    源地址:http://www.2cto.com/database/201308/240281.html

    整理后的sql代码,全部可执行

    1.  
      #当年第一天:
    2.  
      SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY);
    3.  
       
    4.  
      #当年最后一天:
    5.  
      SELECT concat(YEAR(now()),'-12-31');
    6.  
       
    7.  
      #当前week的第一天:
    8.  
      select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 1 DAY);
    9.  
       
    10.  
      #当前week的最后一天:
    11.  
      select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 5 DAY);
    12.  
       
    13.  
      #前一week的第一天:
    14.  
      select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 8 DAY);
    15.  
       
    16.  
      #前一week的最后一天:
    17.  
      select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 2 DAY);
    18.  
       
    19.  
      #前两week的第一天:
    20.  
      select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 15 DAY);
    21.  
       
    22.  
      #前两week的最后一天:
    23.  
      select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 9 DAY);
    24.  
       
    25.  
      #当前month的第一天:
    26.  
      SELECT concat(date_format(LAST_DAY(now()),'%Y-%m-'),'01');
    27.  
       
    28.  
      #当前month的最后一天:
    29.  
      SELECT LAST_DAY(now());
    30.  
       
    31.  
      #前一month的第一天:
    32.  
      SELECT concat(date_format(LAST_DAY(now() - interval 1 month),'%Y-%m-'),'01');
    33.  
       
    34.  
      #前一month的最后一天:
    35.  
      SELECT LAST_DAY(now() - interval 1 month);
    36.  
       
    37.  
      #前两month的第一天:
    38.  
      SELECT concat(date_format(LAST_DAY(now() - interval 2 month),'%Y-%m-'),'01');
    39.  
       
    40.  
      #前两month的最后一天:
    41.  
      SELECT LAST_DAY(now() - interval 2 month);
    42.  
       
    43.  
      #当前quarter的第一天:
    44.  
      select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-3 month),'%Y-%m-'),'01');
    45.  
       
    46.  
      #当前quarter的最后一天:
    47.  
      select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-1 month);
    48.  
       
    49.  
      #前一quarter的第一天:
    50.  
      select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-6 month),'%Y-%m-'),'01');
    51.  
       
    52.  
      #前一quarter的最后一天:
    53.  
      select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-4 month);
    54.  
       
    55.  
      #前两quarter的第一天:
    56.  
      select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-9 month),'%Y-%m-'),'01');
    57.  
       
    58.  
      #前两quarter的最后一天:
    59.  
      select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-7 month);
  • 相关阅读:
    javascript 注意事项汇总
    Object.prototype.toString方法
    PHPStorm使用心得
    JavaScript基于原型链的继承
    PHP重定向的3种方式
    Android应用与开发环境
    PHP时间处理
    cocos2dxna 游戏中如何控制后退键实现目的性跳转
    wp7 独立存储空间在真机和虚拟机测试的时候数据不一样
    c#获取交叉数组的行、列数
  • 原文地址:https://www.cnblogs.com/xiangzideheiniu/p/12579479.html
Copyright © 2020-2023  润新知