MySQL日期加减

来源:互联网 发布:数据融合 技术指标 编辑:程序博客网 时间:2024/05/17 04:53

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'); # 7select 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:08select timediff('08:08:08', '00:00:00');                        # 08:08:08
  • 注意:timediff(time1,time2) 函数的两个参数类型必须相同。
0 0
原创粉丝点击