MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的认识和使用

1.TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2):

表示返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。

interval参数必须是以下值的其中一个:

FRAC_SECOND:表示间隔是毫秒
SECOND:秒
MINUTE:分钟
HOUR:小时
DAY:天
WEEK:星期
MONTH:月
QUARTER:季度
YEAR:年

例如:(表1)

id time
1 2018-12-01 00:00:00
2 2018-12-10 00:00:00

执行sql语句:

select TIMESTAMPDIFF(day,p.time,now()) as '时间差' from phone p;

执行结果:

时间差
4
-5

意思是表内time和当前时间天数差,正数代表过去的,负数代表还没到.

2.TIMESTAMPADD(interval,int_expr,datetime_expr):

表示将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中。式中的interval和上文中列举的取值是一样的。

例如:对于上面的表1,执行以下sql语句:

select TIMESTAMPDIFF(day,1,p.time) as '新时间' from phone p;

执行结果:

新时间
2018-12-02 00:00:00
2018-12-11 00:00:00

意思是,给表内time字段多加了一天.

猜你喜欢

转载自blog.csdn.net/harry5508/article/details/84822371