首页 > 数据库 >MYSQL中取当前年份的第一天和当前周,月,季度的第一天/最后一天

MYSQL中取当前年份的第一天和当前周,月,季度的第一天/最后一天

时间:2022-11-28 22:01:24浏览次数:41  
标签:LAST 第一天 month 中取 CURDATE MYSQL DAY select curdate


mysql 获取当年第一天的年月日格式:SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY);

MySQL里获取当前week、month、quarter的第一天/最后一天
摘自:http://hideto.javaeye.com/blog/255816

当前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)



标签:LAST,第一天,month,中取,CURDATE,MYSQL,DAY,select,curdate
From: https://blog.51cto.com/javaalpha/5893747

相关文章

  • Navicat及python第三方模块pymysql
    目录可视化软件Navicatpython操作MySQLpymysql补充说明可视化软件Navicat​ 可视化软件就是第三方开发的用来充当数据库客户端的简单快捷的操作界面,底层的本质还是SQL,第......
  • MySQL补充知识及pymysql基础使用
    昨日内容回顾数据查询关键字where后跟多种条件,支持逻辑运算符,支持模糊查找(使用like关键字)groupby按照指定字段对数据进行分组,可以使用聚合函数筛选数据h......
  • 多表查询的两种方法、Navicat、python操作MySQL
    1.多表查询的两种方法1.连表操作: 1.1:innerjoin:内连接,将两张表共同的部分连接起来生成一张新表。拼接顺序是把后面的表拼在前面的表,如果颠倒位置结果不同。sele......
  • python 之路 37 Navicat 可视化软件使用、 pymysql模块使用
    多表查询的两种方法方式1:连表操作innerjoin内连接select*fromempinnerjoindeponemp.dep_id=dep.id;只连接两张表中公有的数据部分le......
  • MySQL数据库:python操作MySQL
    目录python操作MySQL一、pymysql模块二、pymysql补充说明1.获取数据2.增删改查三、注册登录1.注册2.登录python操作MySQL一、pymysql模块importpymysql#连接mysql......
  • MySQL数据库基础5
    今日内容概要多表查询的两种方法小知识点补充可视化软件Navicat多表查询练习题python操作MySQL今日内容详细多表查询的两种方法方式1:连表操作 innerjoin......
  • MySQL 5
    今日内容详细多表查询的两种方法方式1:连表操作 innerjoin 内连接 select*fromempinnerjoindeponemp.dep_id=dep.id; 只连接两张表中公有的数据部分......
  • MySQl数据库:多表查询方法、MySQL补充方法
    目录一、多表查询的思路二、多表查询的两种方法1.方式一:连表查询(1)innerjoin内连接(2)leftjoin(3)rightjoin(4)union2.方式二:子查询(1)例子(2)in与notinany和in运算符的不同之处:三......
  • python基础(数据库、可视化软件Navicat、python操作MySQL)
    多表查询的两种方法数据准备:建表createtabledep(idintprimarykeyauto_increment,namevarchar(20));createtableemp(idintprimarykey......
  • MySQL基础
    目录多表查询的两种方法小知识点补充说明可视化软件Navicat多表查询练习题python操作MySQLpymysql补充说明多表查询的两种方法方式1:连表操作'''关键字innerjoin内......