ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MySQL] 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수)
    데이터베이스/MySQL 2018. 3. 28. 11:03

    ▶MySQL 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수)




    ▶설명


    MySQL에서 두 날짜간의 차이를 가져올 때 사용하는 함수가 두 가지가 있습니다.

    단순히 일 차이를 가져올 때 사용하는 것이 DATEDIFF 함수입니다.

    이 외에도 차이를 연, 분기, 월, 주, 일, 시, 분, 초를 지정하여 가져올 때 사용하는 함수가 TIMESTAMPDIFF 함수입니다.


    ▶사용법


    DATEDIFF

    DATEDIFF(날짜1, 날짜2);

    * 간단히 말하자면 날짜1 - 날짜2 동작입니다.


    TIMESTAMPDIFF

    TIMESTAMPDIFF(단위, 날짜1, 날짜2);

    단위

    • SECOND : 초
    • MINUTE : 분
    • HOUR : 시
    • DAY : 일
    • WEEK : 주
    • MONTH : 월
    • QUARTER : 분기
    • YEAR : 연


    ▶예제 쿼리 (Example Query)


    DATEDIFF 예제1

    쿼리

    SELECT TIMESTAMPDIFF(QUARTER, '2017-03-01', '2018-03-28');


    결과

    392


    DATEDIFF 예제2

    쿼리

    SELECT DATEDIFF('2018-03-28 23:59:59', '2017-03-01 00:00:00');


    결과

    392




    TIMESTAMPDIFF : 초

    쿼리

    SELECT TIMESTAMPDIFF(SECOND, '2017-03-01', '2018-03-28');
    -- SELECT TIMESTAMPDIFF(SECOND, '2017-03-01 00:00:00', '2018-03-28 00:00:00');


    결과

    33868800


    TIMESTAMPDIFF : 분

    쿼리

    SELECT TIMESTAMPDIFF(MINUTE, '2017-03-01', '2018-03-28');
    -- SELECT TIMESTAMPDIFF(MINUTE, '2017-03-01 00:00:00', '2018-03-28 00:00:00');


    결과

    564480


    TIMESTAMPDIFF : 시

    쿼리

    SELECT TIMESTAMPDIFF(HOUR, '2017-03-01', '2018-03-28');
    -- SELECT TIMESTAMPDIFF(HOUR, '2017-03-01 00:00:00', '2018-03-28 00:00:00');


    결과

    9408


    TIMESTAMPDIFF : 일

    쿼리

    SELECT TIMESTAMPDIFF(DAY, '2017-03-01', '2018-03-28');
    -- SELECT TIMESTAMPDIFF(DAY, '2017-03-01 00:00:00', '2018-03-28 00:00:00');


    결과

    392


    TIMESTAMPDIFF : 주

    쿼리

    SELECT TIMESTAMPDIFF(WEEK, '2017-03-01', '2018-03-28');
    -- SELECT TIMESTAMPDIFF(WEEK, '2017-03-01 00:00:00', '2018-03-28 00:00:00');


    결과

    56


    TIMESTAMPDIFF : 월

    쿼리

    SELECT TIMESTAMPDIFF(MONTH, '2017-03-01', '2018-03-28');
    -- SELECT TIMESTAMPDIFF(MONTH, '2017-03-01 00:00:00', '2018-03-28 00:00:00');


    결과

    12


    TIMESTAMPDIFF : 분기

    쿼리

    SELECT TIMESTAMPDIFF(QUARTER, '2017-03-01', '2018-03-28');
    -- SELECT TIMESTAMPDIFF(QUARTER, '2017-03-01 00:00:00', '2018-03-28 00:00:00');


    결과

    4


    TIMESTAMPDIFF : 연

    쿼리

    SELECT TIMESTAMPDIFF(YEAR, '2017-03-01', '2018-03-28');
    -- SELECT TIMESTAMPDIFF(YEAR, '2017-03-01 00:00:00', '2018-03-28 00:00:00');


    결과

    1

    댓글

Designed by Tistory.