MySQL常用日期查询-超全

论坛 期权论坛 脚本     
匿名技术用户   2021-1-5 03:48   11   0

-- ----------------------------------时间:

-- 当前时间的整分

select TIMESTAMP(date_format(now(),'%Y-%m-%d %H:%i:00'))

-- 当前时间的整小时

select TIMESTAMP(date_format(now(),'%Y-%m-%d %H:00:00'))

-- 昨天的这个时间

select TIMESTAMP(now()-1)

-- --------------------------------天:

-- 当天的0点0分0秒

select TIMESTAMP(CURDATE()-1)

-- 当天的23点59分59秒

select TIMESTAMP(CURDATE(),'23:59:59')

-- 昨天的0点0分0秒

select TIMESTAMP(CURDATE()-1)

-- 昨天的23点59分59秒

select TIMESTAMP(CURDATE()-1,'23:59:59')

-- 明天的0点0分0秒

select TIMESTAMP(CURDATE()+1)

-- 明天的23点59分59秒

select TIMESTAMP(CURDATE()+1,'23:59:59')

-- ---------------------------------周:

-- 当周第一天的0点0分0秒

select TIMESTAMP(SUBDATE(CURDATE(),WEEKDAY(curdate())))

-- 当周第一天的23点59分59秒

select TIMESTAMP(SUBDATE(CURDATE(),WEEKDAY(curdate())),'23:59:59')

-- 当周最后一天的0点0分0秒

select TIMESTAMP(ADDDATE(curdate(),6-WEEKDAY(curdate())))

-- 当周最后一天的23点59分59秒

select TIMESTAMP(ADDDATE(curdate(),6-WEEKDAY(curdate())),'23:59:59')

-- 上周同天的0点0分0秒

select TIMESTAMP(SUBDATE(CURDATE(), INTERVAL 1 week))

-- 上周同天的23点59分59秒

select TIMESTAMP(SUBDATE(CURDATE(), INTERVAL 1 week),'23:59:59')

-- 上周第一天的0点0分0秒

select TIMESTAMP(SUBDATE(SUBDATE(CURDATE(),WEEKDAY(curdate())),INTERVAL 1 week))

-- 上周第一天的23点59分59秒

select TIMESTAMP(SUBDATE(SUBDATE(CURDATE(),WEEKDAY(curdate())),INTERVAL 1 week),'23:59:59')

-- 上周最后一天的0点0分0秒

select TIMESTAMP(SUBDATE(ADDDATE(curdate(),6-WEEKDAY(curdate())), INTERVAL 1 week))

-- 上周最后一天的23点59分59秒

select TIMESTAMP(SUBDATE(ADDDATE(curdate(),6-WEEKDAY(curdate())), INTERVAL 1 week),'23:59:59')

-- 下周同天的0点0分0秒

select TIMESTAMP(ADDDATE(CURDATE(), INTERVAL 1 week))

-- 下周同天的23点59分59秒

select TIMESTAMP(ADDDATE(CURDATE(), INTERVAL 1 week),'23:59:59')

-- 下周第一天天的0点0分0秒

select TIMESTAMP(ADDDATE(SUBDATE(CURDATE(),WEEKDAY(curdate())),INTERVAL 1 week))

-- 下周第一天天的23点59分59秒

select TIMESTAMP(ADDDATE(SUBDATE(CURDATE(),WEEKDAY(curdate())),INTERVAL 1 week),'23:59:59')

-- 下周最后一天的0点0分0秒

select TIMESTAMP(ADDDATE(ADDDATE(curdate(),6-WEEKDAY(curdate())), INTERVAL 1 week))

-- 下周最后一天的23点59分59秒

select TIMESTAMP(ADDDATE(ADDDATE(curdate(),6-WEEKDAY(curdate())), INTERVAL 1 week),'23:59:59')

-- -------------------------------月:

-- 当月第一天的0点0分0秒
select TIMESTAMP(CURDATE()-day(curdate())+1)

-- 当月第一天的23点59分59秒
select TIMESTAMP(CURDATE()-day(curdate())+1,'23:59:59')

-- 当月最后一天的0点0分0秒
select TIMESTAMP(LAST_DAY(CURDATE()))

-- 当月最后一天的23点59分59秒
select TIMESTAMP(LAST_DAY(CURDATE()),'23:59:59')

-- 上月第一天的0点0分0秒
select TIMESTAMP(SUBDATE(CURDATE()-day(curdate())+1,INTERVAL 1 MONTH))

-- 上月第一天的23点59分59秒
select TIMESTAMP(SUBDATE(CURDATE()-day(curdate())+1,INTERVAL 1 MONTH),'23:59:59')

-- 上月最后一天的0点0分0秒
select TIMESTAMP(SUBDATE(LAST_DAY(CURDATE()),INTERVAL 1 MONTH))

-- 上月最后一天的23点59分59秒
select TIMESTAMP(SUBDATE(LAST_DAY(CURDATE()),INTERVAL 1 MONTH),'23:59:59')

-- 下月第一天的0点0分0秒
select TIMESTAMP(SUBDATE(CURDATE()-day(curdate())+1,INTERVAL -1 MONTH))

-- 下月第一天的23点59分59秒
select TIMESTAMP(SUBDATE(CURDATE()-day(curdate())+1,INTERVAL -1 MONTH),'23:59:59')

-- 下月最后一天的0点0分0秒
select TIMESTAMP(SUBDATE(LAST_DAY(CURDATE()),INTERVAL -1 MONTH))

-- 下月最后一天的23点59分59秒
select TIMESTAMP(SUBDATE(LAST_DAY(CURDATE()),INTERVAL -1 MONTH),'23:59:59')

-- ---------------------------------年:

-- 当年第一天的0点0分0秒
select TIMESTAMP(MAKEDATE(year(CURDATE()),1))

-- 当年第一天的23点59分59秒
select TIMESTAMP(MAKEDATE(year(CURDATE()),1),'23:59:59')

-- 当年最后一天的0点0分0秒
select TIMESTAMP(concat(year(CURDATE()),'1231'))

-- 当年最后一天的23点59分59秒
select TIMESTAMP(concat(year(CURDATE()),'1231'),'23:59:59')

-- 上年第一天的0点0分0秒
select TIMESTAMP(MAKEDATE(year(CURDATE())-1,1))

-- 当年第一天的23点59分59秒
select TIMESTAMP(MAKEDATE(year(CURDATE())-1,1),'23:59:59')

-- 上年最后一天的0点0分0秒
select TIMESTAMP(concat(year(CURDATE())-1,'1231'))

-- 当年最后一天的23点59分59秒
select TIMESTAMP(concat(year(CURDATE())-1,'1231'),'23:59:59')

-- 下年第一天的0点0分0秒
select TIMESTAMP(MAKEDATE(year(CURDATE())+1,1))

-- 下年第一天的23点59分59秒
select TIMESTAMP(MAKEDATE(year(CURDATE())+1,1),'23:59:59')

-- 下年最后一天的0点0分0秒
select TIMESTAMP(concat(year(CURDATE())+1,'1231'))

-- 下年最后一天的23点59分59秒
select TIMESTAMP(concat(year(CURDATE())+1,'1231'),'23:59:59')

上述写法都有很多种,基于MySQL自带的日期函数,就可以随意组合

MySQL日期相关函数-系统当前时间

MySQL日期 与字符串转换

MySQL日期取值与转换

MySQL日期增减计算

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP