복붙노트

[SQL] 만 MYSQL DATEDIFF의 시간을 보여

SQL

만 MYSQL DATEDIFF의 시간을 보여

나는 시간이 바쁜 봤는데,하지만 난 그것을 얻 기운.

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 시간받을 수 있나요?

해결법

  1. ==============================

    1.TIMESTAMPDIFF 사용에 대한 무엇?

    TIMESTAMPDIFF 사용에 대한 무엇?

    SELECT TIMESTAMPDIFF(HOUR, start_time, end_time) 
               as `difference` FROM timeattendance WHERE timeattendance_id = '1484'
    
  2. ==============================

    2.DATEDIFF 이후 대신 DATEDIFF의 당신이 더 나은 사용 TIMEDIFF은 비교하기 전에 날짜에 모든 시간을 캐스팅합니다. TIMEDIFF를 수행 한 후에는 HOUR 함수 시간을 얻을 수 있습니다.

    DATEDIFF 이후 대신 DATEDIFF의 당신이 더 나은 사용 TIMEDIFF은 비교하기 전에 날짜에 모든 시간을 캐스팅합니다. TIMEDIFF를 수행 한 후에는 HOUR 함수 시간을 얻을 수 있습니다.

    SELECT HOUR(TIMEDIFF(end_time, start_time)) as `difference`;
    
  3. ==============================

    3.MySQL의 기준에 명시된 바와 같이 DATEDIFF는 계정에 일이 소요됩니다.

    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 ... 
    
  4. ==============================

    4.당신은 시간을 추출하는 TIMEDIFF 및 HOUR 기능을 사용할 수 있습니다.

    당신은 시간을 추출하는 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

  5. from https://stackoverflow.com/questions/11579946/only-show-hours-in-mysql-datediff by cc-by-sa and MIT license