programing

두 타임스탬프 간의 MySql 차이(초)

bestcode 2022. 9. 30. 11:13
반응형

두 타임스탬프 간의 MySql 차이(초)

Mysql에서 두 타임스탬프의 차이를 계산하여 초단위로 출력 결과를 얻을 수 있습니까?예를 들어 2010-11-29 13:16:55 - 2010-11-29 13:13:55로 지정하면 180초가 됩니다.

감사합니다.

나는 받아들여진 답이 좋은 보편적인 해결책이라고 생각하지 않는다!

이는 UNIX_TIMESTamp() 함수가 1970-01 이전 DATE(및 32비트 정수를 사용하는 먼 미래의 DATE)에서 실패하기 때문입니다.이것은 많은 살아있는 사람들이 태어나는 날에 쉽게 일어날 수 있다.

보다 나은 솔루션은 다음과 같습니다.

SELECT TIMESTAMPDIFF(SECOND, '2010-11-29 13:13:55', '2010-11-29 13:16:55')

DAY YEAR MONTH HOUR 및 MINUTE를 반환하도록 수정할 수 있습니다.

UNIX_TIMESTamp 함수를 사용하여 DATETIME을 1970년1월 1일부터 초단위로 값으로 변환합니다.

SELECT UNIX_TIMESTAMP('2010-11-29 13:16:55') - UNIX_TIMESTAMP('2010-11-29 13:13:55') as output

결과:

output
-------
180

어떤 값이 다른 값보다 큰지 잘 모를 경우 쉽게 처리할 수 있는 방법 - ABS 기능을 사용합니다.

SELECT ABS(UNIX_TIMESTAMP(t.datetime_col1) - UNIX_TIMESTAMP(t.datetime_col2)) as output

TIMESTAMPDIFF 메서드는 datetime 형식에서만 작동합니다.'11:10:00'에서 '10:20:00'를 뺀 두 시간 사이의 차이를 원하는 경우

select TIME_TO_SEC('11:10:00')-TIME_TO_SEC('10:20:00')

언급URL : https://stackoverflow.com/questions/4300380/mysql-difference-between-two-timestamps-in-seconds

반응형