mysql比较时间差

今天写sql有个需求,求出活动的状态.

例如活动开始时间小于当前时间为未开始

开始时间小于当前时间且结束时间大于当前时间为进行中

结束时间小于当前时间则为结束

 查了下资料发现 TIMESTAMPDIFF 函数可以实现

TIMESTAMPDIFF(时间差类型,时间1,时间2)  

说明时间差类型

SECOND 秒 SECONDS 
MINUTE 分钟 MINUTES 
HOUR 时间 HOURS 
DAY 天 DAYS 
MONTH 月 MONTHS 
YEAR 年 YEARS


返回日期或日期时间表达式 时间1时间2之间的整数差。其结果的

单位由时间差类型参数给出。

时间1,时间2时间格式要相同

SELECT activity_begintime,DATEDIFF(STR_TO_DATE(activity_begintime, '%Y-%m-%d %T'), DATE_FORMAT(NOW(),'%Y-%m-%d %T'))FROM wxactivity



SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %T');

SELECT TIMESTAMPDIFF(SECOND,activity_begintime, DATE_FORMAT(NOW(),'%Y-%m-%d %T')) FROM wxactivity;


SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2009-10-01'); 


ok 可以实现效果




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值