source

두 날짜 사이의 시간을 찾을 수 없습니다 MySQL

manycodes 2023. 1. 15. 17:17
반응형

두 날짜 사이의 시간을 찾을 수 없습니다 MySQL

데이터베이스에 테이블이 있고 테이블 date1과 date2에 2개의 날짜 열(varchar)이 있습니다.date1과 date2의 시간 차이를 찾고 싶습니다.데이터베이스는 mariadb를 사용하여 작성됩니다.

이미 해봤어:

timediff('date1','date2')

하지만 무효가 된다.

이 문제는 열 이름을 String으로 전달하고 있기 때문에 해석할 수 없다는 것입니다.컬럼에서 따옴표를 삭제하면 매력적으로 실행됩니다.

SELECT timediff(date1, date2) from TABLE

편집:- STR_ 사용문자열을 날짜 유형으로 변환하는 TO_DATE() 메서드...그래서 당신의 마지막 질문입니다.

SELECT timediff(STR_TO_DATE(date1, '%m-%d-%Y %H:%i:%s'),STR_TO_DATE(date2, '%m-%d-%Y %H:%i:%s')) from TABLE

STR_을 사용할 수 있습니다.TO_DATE를 사용하여 varchar를 현재 상태로 변환합니다.따라서 쿼리는 다음과 같습니다.

timediff(STR_TO_DATE(date1, '%m/%/d/%Y %h:%i:%s %p'), (STR_TO_DATE(date2, '%m/%/d/%Y %h:%i:%s %p'))
TIMESTAMPDIFF(HOUR, start_date, end_date)

예:

mysql> SELECT NOW(), TIMESTAMPDIFF(HOUR, '2015-12-09 08:00:00', NOW());
+---------------------+---------------------------------------------------+
| NOW()               | TIMESTAMPDIFF(HOUR, '2015-12-09 08:00:00', NOW()) |
+---------------------+---------------------------------------------------+
| 2015-12-09 14:12:51 |                                                 6 |
+---------------------+---------------------------------------------------+

언급URL : https://stackoverflow.com/questions/34114719/unable-to-find-hours-between-two-dates-mysql

반응형