mysql 常用获取时间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 DATE_ADD(curdate(),interval -day(curdate())+1 day);  
  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);  
posted @ 2020-03-09 11:33  w_corn  阅读(195)  评论(0)    收藏  举报