[MYSQL] DATEDIFF, TIMEDIFF 를 이용한 날짜 및 시간 계산


1. 날짜차이 계산: DATEDIFF(expr1, expr2)
SELECT DATEDIFF('2016-04-20','2016-04-01') AS DiffDate

  결과값: 19


2. 시간차이 계산: TIMESTAMPDIFF(시간표현단위, 시작체크시간, 종료체크시간)

SELECT TIMESTAMPDIFF(minute, '2016-04-20 01:01''2016-12-31 23:59') AS time_diff;

  결과값: 368578(분)
  시간표현단위: second, minute, hour, day, week, month, quarter, year


그런데 위와 같이 하면 문자열을 바로 계산하는 것으로.. 최대 1분까지 차이가 날 수 있다.
따라서 아래와 같이 DATE 포멧으로 변경 후에 적용하면 더욱 더 정확합니다.


3. 문자열에서 날짜형으로 데이터 전환: date_format
SELECT TIMESTAMPDIFF(minute, date_format('2016-04-20 01:01', '%Y-%m-%d %H:%i'), date_format('2016-12-31 23:59', '%Y-%m-%d %H:%i')) AS time_diff;



'DataBase' 카테고리의 다른 글

MYSQL Rownum 행번호 매기기  (0) 2018.10.19
Mysql : 비어있는 자릿수 특정문자로 채우기  (0) 2018.10.19
DDL, DML, DCL  (0) 2018.10.08
Mysql 암호화, 복호화  (0) 2018.10.08
[DB] MySQL - DDL TRUNCATE과 DELETE  (0) 2018.10.08

+ Recent posts