как принять разницу в месяц двух дат в MySQL.
Я пытаюсь получить разницу в месяц двух дат, но я не получаю. дней.
select datediff('2014-10-17T00:00:00.000-07:00', '2015-02-06T00:00:00.000-08:00');
это ваше решение.
Синтаксис будет
TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2);
Возвращает
datetime_expr2 − datetime_expr1
, гдеdatetime_expr1
иdatetime_expr2
- выражения даты или даты. Одним из выражений может быть дата, а другая - дата и время; значение даты рассматривается как дата-время, имеющее временную часть "00: 00: 00", где это необходимо.~ MySQL :: Справочное руководство MySQL 5.5 :: 12.7 Функции даты и времени ~
Правовые значения для unit
Примеры
mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');
-> 3
mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');
-> -1
mysql> SELECT TIMESTAMPDIFF(MINUTE,'2003-02-01','2003-05-01 12:05:55');
-> 128885
Используйте этот код
SELECT TIMESTAMPDIFF(MONTH, '2014-10-17T00:00:00.000-07:00','2015-02-06T00:00:00.000-08:00')
in MySQL server
DATEDIFF is built in function
You can get Difference of
Day
Month
Year
SELECT DATEDIFF(DAY,'2018-05-01',GetDate())
SELECT DATEDIFF(Month,'2018-05-01',GetDate())
SELECT DATEDIFF(Year,'2018-05-01',GetDate())
Это может помочь,
SELECT 12 * (YEAR(STR_TO_DATE('01/01/2011', '%d/%m/%Y')) -
YEAR(STR_TO_DATE('01/01/2010', '%d/%m/%Y')))
+ (MONTH(STR_TO_DATE('01/01/2011', '%d/%m/%Y'))
- MONTH(STR_TO_DATE('01/01/2010', '%d/%m/%Y'))) AS months
Попробуй это
Select PERIOD_DIFF(Date_format('2015-02-06T00:00:00.000-08:00', '%Y-%m'), Date_format('2014-10-17T00:00:00.000-07:00', '%Y%m'))
Select PERIOD_DIFF(MONTH(date1),MONTH(date2)) from table;