Mysql日期差函数,Mysql选择两个日期字段相差大于或小于一定时间

SELECT * from table where TIMESTAMPDIFF(type,pretime,latertime)>100

TIMESTAMPDIFF函数,需要三个参数,type是比较的类型,可以比较FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型,pretime是前一个时间,比较时用后一个时间减前一个时间

在laravel 作为条件的时候

$builder->whereRaw("ABS(TIMESTAMPDIFF(DAY,FROM_UNIXTIME(require_receive_time), FROM_UNIXTIME(add_time))) > 0 1");

解释: require_receive_time 需要大于 add_time 至少一天
require_receive_time 和 add_time 的值都是时间戳格式的时间标记

TIMESTAMPDIFF用法

TIMESTAMPDIFF(interval, datetime_expr1, datetime_expr2)

description:
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:

datetime_expr1 的格式 是 2019-03-18 的格式(并不是时间戳

  1. FRAC_SECOND - 表示间隔是毫秒
  2. SECOND - 秒
  3. MINUTE - 分钟
  4. HOUR - 小时
  5. DAY - 天
  6. WEEK - 星期
  7. MONTH - 月
  8. QUARTER - 季度
  9. YEAR - 年
// example:
mysql> select TIMESTAMPDIFF(DAY,'2012-08-24','2012-08-30');
+----------------------------------------------+
| TIMESTAMPDIFF(DAY,'2012-08-24','2012-08-30') |
+----------------------------------------------+
|                                            6 | 
+----------------------------------------------+
1 row in set (0.00 sec)
--------------------- 

你可能感兴趣的:(PHP,Mysql)