sql 获取特定时间点的日期

语言:mysql 

 获取当前时间

select current_timestamp(),  current_date(),    current_time() ;

--   2021-11-30       12:02:20       2021-11-30 12:02:20

日期间隔函数

date_sub() 日期减去时间间隔函数

date_add() 日期加上时间间隔函数

查询当前日期是周几

weekday(date) 返回日期是周几的函数 ,周一是0 ,周二是 1 

select date_sub(current_date(), interval weekday(curdate())+2 day); -- 上周六0点
select date_sub(current_date(), interval weekday(curdate())+9 day); -- 上上周六0点

  

获取特定时间点的日期

select date_sub(current_date(), interval weekday(curdate())+0 day)             as 当周周一,
       date_sub(current_date(), interval weekday(curdate())-6 day)             as 当周周日,
       concat(date_format(last_day(now()), '%Y-%m-'), '01')                    as 当月月初,
       last_day(now())                                                         as 当月月末,
       concat(date_format(last_day(now() - interval 1 month), '%Y-%m-'), '01') as 上月月初,
       last_day(now() - interval 1 month)                                      as 上月月末,
       makedate(extract(year from curdate()), 1) + interval quarter(curdate())*3-3 month as 当季度第一天,
    last_day(makedate(extract (year from curdate()), 1)+ interval quarter(curdate())*3-1 month) as 当季度最后一天

 

posted @ 2021-11-30 14:01  叫我林大官人  阅读(745)  评论(0)    收藏  举报