[mysql] MySQL에서 두 날짜의 차이점

형식에서 두 날짜의 차이를 계산하고 YYYY-MM-DD hh: mm: ss결과를 초 또는 밀리 초로 얻는 방법은 무엇입니까?



답변

SELECT TIMEDIFF('2007-12-31 10:02:00','2007-12-30 12:01:01');
-- result: 22:00:59, the difference in HH:MM:SS format


SELECT TIMESTAMPDIFF(SECOND,'2007-12-30 12:01:01','2007-12-31 10:02:00'); 
-- result: 79259  the difference in seconds

따라서 TIMESTAMPDIFF목적에 맞게 사용할 수 있습니다 .


답변

DATE 열에 대해 작업 중이거나 날짜 열로 캐스트 할 수있는 경우 DATEDIFF ()를 시도한 후 24 시간, 60 분, 60 초를 곱하십시오 (DATEDIFF는 diff를 일 단위로 리턴하므로). MySQL에서 :

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

예를 들면 다음과 같습니다.

mysql> SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30 00:00:00') * 24*60*60


답변

DATEDIFF를 사용하여 일의 날짜 차이를 가져옵니다.

SELECT DATEDIFF('2010-10-08 18:23:13', '2010-09-21 21:40:36') AS days;
+------+
| days |
+------+
|   17 |
+------+

또는

며칠 만에 두 타임 스탬프 사이의 링크 MySql 차이점을 참조하십시오
?


답변

SELECT TIMESTAMPDIFF(HOUR,NOW(),'2013-05-15 10:23:23')
   calculates difference in hour.(for days--> you have to define day replacing hour
SELECT DATEDIFF('2012-2-2','2012-2-1')

SELECT TO_DAYS ('2012-2-2')-TO_DAYS('2012-2-1')


답변

select 
unix_timestamp('2007-12-30 00:00:00') - 
unix_timestamp('2007-11-30 00:00:00');


답변

SELECT TIMESTAMPDIFF(SECOND,'2018-01-19 14:17:15','2018-01-20 14:17:15');

두 번째 접근법

SELECT ( DATEDIFF('1993-02-20','1993-02-19')*( 24*60*60) )AS 'seccond';

CURRENT_TIME() --this will return current Date
DATEDIFF('','') --this function will return  DAYS and in 1 day there are 24hh 60mm 60sec


답변

또는 TIMEDIFF 기능을 사용할 수 있습니다

mysql> SELECT TIMEDIFF('2000:01:01 00:00:00', '2000:01:01 00:00:00.000001');
'-00:00:00.000001'
mysql> SELECT TIMEDIFF('2008-12-31 23:59:59.000001' , '2008-12-30 01:01:01.000002');
 '46:58:57.999999'