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)
--------------------- 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章