반응형
MYSQL DATEFF에만 시간 표시
몇 시간 동안이나 이것 때문에 바빴지만, 효과가 없어요.
SQL
SELECT DATEDIFF(end_time, start_time) as `difference` FROM timeattendance WHERE timeattendance_id = '1484'
start_time = 2012-01-01 12:00:00
end_time = 2012-01-02 13:00:00
차이는 25시간입니다.하지만 출력은 1일입니다.
어떻게 하면 25시간을 출력으로 얻을 수 있을까요?
TIMESTAMPDIFF를 사용하면 어떨까요?
SELECT TIMESTAMPDIFF(HOUR, start_time, end_time)
as `difference` FROM timeattendance WHERE timeattendance_id = '1484'
DATIFF는 비교하기 전에 항상 날짜로 캐스팅되므로 DATIFF 대신 TIMEDIFF를 사용하는 것이 좋습니다.TIMEDIFF 실행 후 HOUR 기능으로 시간을 얻을 수 있습니다.
SELECT HOUR(TIMEDIFF(end_time, start_time)) as `difference`;
MySQL 레퍼런스에 기재된 바와 같이DATEDIFF
계산에는 며칠밖에 걸리지 않습니다.
두 날짜가 모두 1970년 이후인 경우 타임스탬프를 분할할 수 있습니다.
SELECT ( UNIX_TIMESTAMP("2012-01-02 13:00:00") -
UNIX_TIMESTAMP("2012-01-01 12:00:00") ) / 3600 ...
또는 다음과 같이 입력합니다.
SELECT TIMEDIFF ( "2012-01-02 13:00:00", "2012-01-01 12:00:00") / 3600 ...
TIMEDIFF 및 HOUR 함수를 사용하여 시간을 추출할 수 있습니다.
SELECT HOUR(TIMEDIFF(end_time, start_time)) as `difference` FROM timeattendance WHERE timeattendance_id = '1484'
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timediff
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_hour
언급URL : https://stackoverflow.com/questions/11579946/only-show-hours-in-mysql-datediff
반응형
'programing' 카테고리의 다른 글
e.getMessage()와 e.getLocalizedMessage()의 차이점 (0) | 2022.09.05 |
---|---|
'-rdynamic'은 정확히 어떤 역할을 하며 언제 필요할까요? (0) | 2022.09.05 |
open Session()과 get Current Session()의 휴지 상태 (0) | 2022.09.05 |
'blur' 이벤트가 발생할 때 어떤 요소의 포커스가 *to*로 갔는지 어떻게 알 수 있습니까? (0) | 2022.09.05 |
PHP 오브젝트에서 json_encode 사용(범위에 관계없이) (0) | 2022.09.05 |