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

http://blog.csdn.net/cleanfield/article/details/41447585

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

  1. #当年第一天:
  2. SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY);
  3. #当年最后一天:
  4. SELECT concat(YEAR(now()),‘-12-31‘);
  5. #当前week的第一天:
  6. select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 1 DAY);
  7. #当前week的最后一天:
  8. select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 5 DAY);
  9. #前一week的第一天:
  10. select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 8 DAY);
  11. #前一week的最后一天:
  12. select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 2 DAY);
  13. #前两week的第一天:
  14. select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 15 DAY);
  15. #前两week的最后一天:
  16. select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 9 DAY);
  17. #当前month的第一天:
  18. SELECT concat(date_format(LAST_DAY(now()),‘%Y-%m-‘),‘01‘);
  19. #当前month的最后一天:
  20. SELECT  LAST_DAY(now());
  21. #前一month的第一天:
  22. SELECT concat(date_format(LAST_DAY(now() - interval 1 month),‘%Y-%m-‘),‘01‘);
  23. #前一month的最后一天:
  24. SELECT LAST_DAY(now() - interval 1 month);
  25. #前两month的第一天:
  26. SELECT concat(date_format(LAST_DAY(now() - interval 2 month),‘%Y-%m-‘),‘01‘);
  27. #前两month的最后一天:
  28. SELECT  LAST_DAY(now() - interval 2 month);
  29. #当前quarter的第一天:
  30. select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM  CURDATE()),1) + interval QUARTER(CURDATE())*3-3 month),‘%Y-%m-‘),‘01‘);
  31. #当前quarter的最后一天:
  32. select LAST_DAY(MAKEDATE(EXTRACT(YEAR  FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-1 month);
  33. #前一quarter的第一天:
  34. select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-6 month),‘%Y-%m-‘),‘01‘);
  35. #前一quarter的最后一天:
  36. select  LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-4 month);
  37. #前两quarter的第一天:
  38. select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-9 month),‘%Y-%m-‘),‘01‘);
  39. #前两quarter的最后一天:
  40. select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-7 month);
时间: 2024-12-20 21:32:21

0919MYSQL中取当前周/月/季/年的第一天与最后一天的相关文章

php获取当前周的第一天与最后一天

// 当前日期   $sdefaultDate = date("Y-m-d");   // $first =1 表示每周星期一为开始日期 0表示每周日为开始日期   $first = 1;   // 获取当前周的第几天 周日是 0 周一到周六是 1 - 6   echo $w = date('w',strtotime($sdefaultDate));   // 获取本周开始日期,如果$w是0,则表示周日,减去 6 天   echo $week_start = date('Y-m-d',

WPF 本周、本月、本季、本年的第一天与最后一天取法

lblWeekStart.Content = DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();          lblWeekEnd.Content = DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToSh

ORACLE取周、月、季、年的开始时间和结束时间

 1           取周的开始时间和结束时间 取周的开始时间,以星期一为开始. SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'D') + 1 ASA FROM DUAL; A ----------- 2013/11/25 取周的结束时间,以星期日为结束 SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:

oracle中取前几条数据&TRUNC()函数

在oracle中查表中的前10条数据---- select * from test where rownum <= 10 ;  rownum是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分页.类似于MYSQL和SQL SERVER的top. select * from (select a.*,rownum rn from test a) where rn >=10 and rn<=20; 输出10到20条语句.因为rownum本身只能用<=的比较方式,只有转成实例才

随机从表中取一个

--随机从表中取一个Select Top 1 * From table Order By NEWID()

TODO:排列组合问题:n个数中取m个

排列组合是组合学最基本的概念.所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序.组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序.排列组合的中心问题是研究给定要求的排列和组合可能出现的情况总数. 排列组合与古典概率论关系密切. 本文示例实现的功能是"按顺序"从n个数中取m个数,如1,2,3,4,5,6取5个数字是:1,2,3,4,5:1,2,3,4,6:2,3,4,5,6.示例代码有javascript,php,golang,如果雷同,纯属学术研究,作为一种记

关于SimpleCursorAdapter在sqlite数据库中取数据报错 : java.lang.IllegalArgumentException: column &#39;_id&#39; does not exist

_id列不存在 需要创建一个 id列 因为SQLlite数据库 的onCreate方法是在数据库不存在的时候才调用所以我们需要清除一下这个app 的数据 将数据清空 关于SimpleCursorAdapter在sqlite数据库中取数据报错 : java.lang.IllegalArgumentException: column '_id' does not exist

sql中取小数的整数部分和小数部分

1.floor()函数. select floor(3.44), 3.44-floor(3.44) 显示: 3     0.44 对于负数和正数这个函数处理的不一样. 对于正数不进行四舍五入.对于负数进行四舍五入. 2. select cast(12.3 as int), 12.3-cast(12.3  as int) select cast(-12.3 as int), -12.3+cast(-12.3  as int) 显示: 12     0.3 -12 -0.3 3. select le

struts2 与 OGNL 表达式,jsp中 利用ognl 在valuestack中取值

在Struts2中,一个请求在最终到达Action的方法之前,Action对象本身会被压入ValueStack(实际上就是放到ValueStack的CompoundRoot中),所以Action对象是CompoundRoot中的一个元素.看下面的代码: public class UserAction { private String username; private Integer age; private boolean valid; //查看用户的详细信息 public String de