MySQL日期加减

1、MySQL 为日期增加一个时间间隔:date_add()

set @dt = now();

select date_add(@dt, interval 1 day);               # 加1天

select date_add(@dt, interval 1 hour);              # 加1小时

select date_add(@dt, interval 1 minute);            # 加1分钟

select date_add(@dt, interval 1 second);            # 加1秒

select date_add(@dt, interval 1 microsecond);       # 加1毫秒

select date_add(@dt, interval 1 week);              # 加1周

select date_add(@dt, interval 1 month);             # 加1月

select date_add(@dt, interval 1 quarter);           # 加1季

select date_add(@dt, interval 1 year);              # 加1年

select date_add(@dt, interval '01:11:22' hour_second);      # 加1小时11分22秒

select date_add(@dt, interval '1 01:10:20' day_second);     # 加1天1小时10分20秒
  • 注意:MySQL 中还有adddate(), addtime()函数,可以用date_add() 来替代。

2、MySQL 为日期减去一个时间间隔:date_sub()

select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second);      # 减1天1小时1分1秒
  • 注意:MySQL 中还有两个函数subdate(), subtime(),建议,用date_sub() 来替代。

3、MySQL 另类日期函数: period_add(P,N), period_diff(P1,P2)

# 函数参数"P" 的格式为"YYYYMM" 或者 "YYMM",第二个参数"N" 表示增加或减去N month(月)。

# MySQL period_add(P,N):日期加/减去N月。

select period_add(200808,2), period_add(20080808,-2);

# MySQL period_diff(P1,P2):日期P1-P2,返回N 个月。

select period_diff(200808, 200801);

4、MySQL 日期、时间相减函数: datediff(date1,date2), timediff(time1,time2)

# 两个日期相减date1 date2,返回天数。

select datediff('2008-08-08', '2008-08-01'); # 7

select datediff('2008-08-01', '2008-08-08'); # -7

# 两个日期相减time1 time2,返回time 差值。

select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00');  # 08:08:08

select timediff('08:08:08', '00:00:00');                        # 08:08:08
  • 注意:timediff(time1,time2) 函数的两个参数类型必须相同。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值