1、日期比较(着重相差秒数,如:验证码有效时间)
create_date字段比较:TIME_TO_SEC(TIMEDIFF(NOW(), create_date)) < 60
要点:1、比较两时间差值:TIMEDIFF(dt1, dt2);更多详见文章
2、返回 time 参数,转换成秒:TIME_TO_SEC(time);更多详见文章
2、日期比较,相差天数
2.1to_days函数:select to_days(now()) - to_days('20180512') ;
2.2datediff函数:select datediff(now(),'20180512');
3、生成指定范围内随机时间日期
如下,以2017-10-1为基数,往后10天内随机时间(未来时间,减号换成加号即可),864000单位:秒:
SELECT DATE_ADD('2017-10-1', INTERVAL FLOOR(1 - (RAND() * 864000)) SECOND );
4. MySQL 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)
原文地址
MySQL datediff(date1,date2):两个日期相减 date1 - date2,返回天数。
select datediff('2008-08-08', '2008-08-01'); -- 7
select datediff('2008-08-01', '2008-08-08'); -- -7
MySQL timediff(time1,time2):两个日期相减 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) 函数的两个参数类型必须相同。