2009-09-22 4 views

ответ

9

Что об использовании datediff:

mysql> select abs(datediff('2009-09-18 00:00:00', '2009-10-17 00:00:00')); 
+-------------------------------------------------------------+ 
| abs(datediff('2009-09-18 00:00:00', '2009-10-17 00:00:00')) | 
+-------------------------------------------------------------+ 
|               29 | 
+-------------------------------------------------------------+ 
1 row in set (0.00 sec) 

Цитирование руководство:

DATEDIFF() возвращает expr1 – expr2 , выраженное как значение в днях от одного с другой. expr1 и expr2 - это выражения даты или даты и времени.
Только цифры даты составляют , используемые в расчете.

1

Вы можете просто вычесть DateTimes и он возвращает значение:

выбрать (сейчас() - интервал 2 дня) - (сейчас() - интервал 5 дней);

Результат не является датой (в данном случае это некоторая десятичная кодированная дата - 3000000 в течение трех дней), но неверно говорить о времени и интервалах как одном и том же типе данных.

1

Или использовать timestampdiff(), как это:

timestampdiff (микросекунды, yourtime, теперь())

первый параметр блока MySQL даты и времени, может быть «микросекунд, второй , минута, час, день, год ", и эта функция означает третий параметр datetime минус второй параметр datetime.

mysql> select timestampdiff(second, "2009-09-18 00:00:00", "2009-10-17 00:00:00"); 
+---------------------------------------------------------------------+ 
| timestampdiff(second, "2009-09-18 00:00:00", "2009-10-17 00:00:00") | 
+---------------------------------------------------------------------+ 
|                2505600 | 
+---------------------------------------------------------------------+ 
1 row in set (0.00 sec) 
Смежные вопросы