개인적인 정리

MySQL 날짜 차이 TIMESTAMPDIFF() 본문

DB/MYSQL

MySQL 날짜 차이 TIMESTAMPDIFF()

yeon.Biju 2020. 3. 6. 10:31

MySQL 날짜 차이를 구하는 함수

 

DATEDIFF 도 있는 것 같지만 

여기서는 

TIMESTAMPDIFF() 

만 잠시 살펴본다.

간단하게는 나이를 구하는데 유용해보이고, 날짜간의 차이를 구하는데에도 유용해 보인다.

 

예제

1) 현재 날짜와 특정일 간 초의 차이(SECOND)

mysql>SELECT CURDATE(), TIMESTAMPDIFF(SECOND, '2000-01-01', CURDATE())

 

2) 현재 날짜와 특정일 간 분의 차이(MINUTE)
mysql>SELECT CURDATE(), TIMESTAMPDIFF(MINUTE, '2000-01-01', CURDATE())

 

3) 현재 날짜와 특정일 간의 시간 차이(HOUR)
mysql>SELECT CURDATE(), TIMESTAMPDIFF(HOUR, '2000-01-01', CURDATE())

 

4) 현재 날짜와 특정일 간의 일 차이(DAY)
mysql>SELECT CURDATE(), TIMESTAMPDIFF(DAY, '2000-01-01', CURDATE())

 

5) 현재 날짜와 특정일 간의 주 차이(WEEK)
mysql>SELECT CURDATE(), TIMESTAMPDIFF(WEEK, '2000-01-01', CURDATE())

 

6) 현재 날짜와 특정일 간의 달 차이(MONTH)
mysql>SELECT CURDATE(), TIMESTAMPDIFF(MONTH, '2000-01-01', CURDATE())

 

7) 현재 날짜와 특정일간의 분기 차이
mysql>SELECT CURDATE(), TIMESTAMPDIFF(QUARTER, '2000-01-01', CURDATE())

 

8) 현재 날짜와 특정일간의 연 차이(YEAR)
mysql>SELECT CURDATE(), TIMESTAMPDIFF(YEAR, '2000-01-01', CURDATE())

 

TIMESTAMPDIFF 는 

TIMESTAMPDIFF(단위, 날짜1, 날짜2); 형태로 사용하는 데 날짜2 -날짜 1의 형태이다.

따라서 아래와 같이 사용도 가능하며 아래와 같은 경우에는 값이 - 형태로 나온다.

 

mysql>SELECT CURDATE(), TIMESTAMPDIFF(SECOND, '2030-01-01', CURDATE());  

mysql>SELECT CURDATE(), TIMESTAMPDIFF(MINUTE, '2030-01-01', CURDATE());  

mysql>SELECT CURDATE(), TIMESTAMPDIFF(HOUR, '2030-01-01', CURDATE());  

mysql>SELECT CURDATE(), TIMESTAMPDIFF(DAY, '2030-01-01', CURDATE());  

mysql>SELECT CURDATE(), TIMESTAMPDIFF(WEEK, '2030-01-01', CURDATE());  

mysql>SELECT CURDATE(), TIMESTAMPDIFF(MONTH, '2030-01-01', CURDATE());  

mysql>SELECT CURDATE(), TIMESTAMPDIFF(QUARTER, '2030-01-01', CURDATE());  

mysql>SELECT CURDATE(), TIMESTAMPDIFF(YEAR, '2030-01-01', CURDATE()); 

 

 

 

아래 URL을 참고하였다.

https://extbrain.tistory.com/78

 

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

▶MySQL 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수) ▶설명 MySQL에서 두 날짜간의 차이를 가져올 때 사용하는 함수가 두 가지가 있습니다. 단순히 일 차이를 가져올 때 사용하는 것이 DATEDIFF 함수입니..

extbrain.tistory.com

 

Comments