mysql 日期前n天_MySQL日期范围查询,当前日期的前后几天

主要使用到DATE_SUB()函数

作用:从DATE或DATETIME值中减去时间值(或间隔)。

语法:DATE_SUB(start_date, INTERVAL expr unit);

参数详解:

start_date是DATE或DATETIME的起始值。

expr是一个字符串,用于确定从起始日期减去的间隔值(可以为负数)。

unit是expr可解析的间隔单位,例如DAY,HOUR等

重点敲黑板,来看下例子

1、获取当前日期(yyyy-MM-dd)

select curdate();

select DATE_SUB(curdate(), interval 0 DAY) ;//当前日期减去0天,等效select curdate();

2、获取当前日期+时间(yyyy-MM-dd HH:mm:ss)

select now();

select DATE_SUB(now(), interval 0 DAY) ;//原理同上

3、获取明天日期

select DATE_SUB(curdate(), interval -1 DAY) ;

4、获取昨天日期

select DATE_SUB(curdate(), interval 1 DAY) ;

5、 前一个小时时间

select DATE_SUB(now(), interval 1 hour);

6、 后一个小时时间

select DATE_SUB(now(), interval -1 hour);

7、 前30分钟时间

select DATE_SUB(now(), interval 30 minute);

8、 后30分钟时间

select DATE_SUB(now(), interval -30 minute);

9、 获得前一年时间

select DATE_SUB(now(), interval 1 year);

10、 获得后一年时间

select DATE_SUB(now(), interval -1 year);

如果要算月或年,将unit参数改成对应的值:day、month、year即可

如果要统计前几天就将expr参数修改为相应的天数。

具体使用,自行发挥。

另外有一个函数DATE_ADD(),语法与date_sub()相近,

不过date_add()是从起始日期加上的间隔值。

eg:获得前一个小时时间

select DATE_ADD(now(), interval -1 minute); //add

等效于:select DATE_SUB(now(), interval 1 hour); //sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值