복붙노트

[SQL] 분에서 2 날짜 사이의 시간 차이를 계산

SQL

분에서 2 날짜 사이의 시간 차이를 계산

내 콩의 DATE 데이터 형식에 매핑되는 내 MySQL 데이터베이스에 시간 소인의 필드가 있습니다. 지금은 내가 현재의 타임 스탬프와 데이터베이스에 저장된 하나의 차이점은> 20 분 거리에있는 데이터베이스의 모든 레코드를 가져올 수있는 쿼리를합니다.

내가 어떻게 해?

내가 원하는 것입니다 :

SELECT * FROM MyTab T WHERE T.runTime - now > 20 minutes

이것에 대한 어떤 MySQL의 함수 또는 SQL에서이 작업을 수행 할 수있는 방법이 있습니까?

해결법

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

    1.난 당신이 TIMESTAMPDIFF (단위, datetime_expr1, datetime_expr2) 같은 것을 사용 수 있다고 생각

    난 당신이 TIMESTAMPDIFF (단위, datetime_expr1, datetime_expr2) 같은 것을 사용 수 있다고 생각

    select * from MyTab T where
    TIMESTAMPDIFF(MINUTE,T.runTime,NOW()) > 20
    
  2. ==============================

    2.

    ROUND(time_to_sec((TIMEDIFF(NOW(), "2015-06-10 20:15:00"))) / 60);
    
  3. ==============================

    3.오늘과 데이터베이스 날짜 코드 아래 사용하고 있습니다.

    오늘과 데이터베이스 날짜 코드 아래 사용하고 있습니다.

    TIMESTAMPDIFF (NOW 분, T.runTime, ())> (20)

    문서에 따르면, 첫 번째 인수는 다음 중 하나가 될 수 있습니다 :

    MICROSECOND
    SECOND
    MINUTE
    HOUR
    DAY
    WEEK
    MONTH
    QUARTER
    YEAR
    
  4. ==============================

    4.이거 한번 해봐:

    이거 한번 해봐:

    select * from MyTab T where date_add(T.runTime, INTERVAL 20 MINUTE) < NOW()
    

    참고 : MySQL의 날짜 시간 형식을 사용하는 경우이 작동합니다. 유닉스 타임 스탬프 (정수)를 사용하는 경우, 그것은 더 쉽게 될 것이다 :

    select * from MyTab T where UNIX_TIMESTAMP() - T.runTime > 20*60
    

    UNIX_TIMESTAMP () 함수가 반환하는 당신에게 현재의 유닉스 타임 스탬프.

  5. from https://stackoverflow.com/questions/7636599/calculating-time-difference-between-2-dates-in-minutes by cc-by-sa and MIT license