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 当季度最后一天
浙公网安备 33010602011771号