MySQL에서 두 날짜 시간의 차이 계산


답변:


296

TIMESTAMPDIFFMySQL 기능을 사용하십시오 . 예를 들어 다음을 사용할 수 있습니다.

SELECT TIMESTAMPDIFF(SECOND, '2012-06-06 13:13:55', '2012-06-06 15:20:18')

귀하의 경우, TIMSTAMPDIFF기능 의 세 번째 매개 변수 는 현재 로그인 시간 ( NOW())입니다. 두 번째 매개 변수는 데이터베이스에 이미있는 마지막 로그인 시간입니다.


마지막 로그인 권한을 업데이트하는 것입니다 ?? 내가 원하는 것은 2 초 전, 30 초 전, 2 분 전에 게시 된 질문과 같은 기능입니다. 비슷한 기능을 원합니다. 예를 들어 REQUESTS (id, message, timestamp)라는 하나의 테이블이 있습니다. 저장하는 동안 타임 스탬프는 NOW ()입니다. 쿼리를 실행하는 동안 요청에서 *를 선택하십시오.이 값을 표시하는 대신 ID, 메시지 및 다시 요청한 시간이 표시되어야합니다.
Devesh Agrawal

1
SELECT TIMESTAMPDIFF (SECOND, NOW () 쿼리를 실행하는 동안 'id ='2 '인 요청에서 lastLoginTime을 선택하십시오.'). NULL을 반환합니다. 왜 그런지 아십니까 ??
Devesh Agrawal

id = '2'인 요청에서 select lastLoginTime의 출력은 무엇입니까?
FSP

타임 스탬프 선택 (SECOND, NOW (), '2012-06-06 08:07:36'); 이 시도!
FSP

작동하는 YE이지만 테이블에서 두 번째 매개 변수를 가져와야합니다. 그것을 달성하는 방법. 실제로 중첩 된 쿼리를 피하고 싶습니다. 어떤 아이디어?
Devesh Agrawal

3

논리에 관한 나의 2 센트 :

구문은 "old date"-: "new date"입니다.

SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:00', '2018-11-15 15:00:30')

30을 준다.

SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:55', '2018-11-15 15:00:15')

제공합니다 : -40


2

시작 날짜와 종료 날짜 시간이 다른 날인 경우 TIMEDIFF를 사용하십시오.

SELECT TIMEDIFF(datetime1,datetime2)

datetime1> datetime2이면

SELECT TIMEDIFF("2019-02-20 23:46:00","2019-02-19 23:45:00")

제공 : 24:01:00

및 datetime1 <datetime2

SELECT TIMEDIFF("2019-02-19 23:45:00","2019-02-20 23:46:00")

제공 : -24 : 01 : 00


참고 : 최대 839 시간 간격으로 날짜를 처리 할 수 ​​있음
Caius Jard
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.