본문 바로가기

Language/MySQL

[MySQL] 날짜 연산

SQL에서의 날짜

날짜나 시간 데이터는 수치 데이터와 같이 사칙 연산을 할 수 있다.

연산 후 결괏값으로 동일한 날짜 시간 유형의 데이터를 반환하거나 기간(간격)의 차를 나타내는 기간형(interval) 데이터를 반환하는 경우도 있다. 기간형은 '10일간', '2시간 10분'과 같이 시간의 간격을 표현할 수 있다.

 

 

시스템 날짜

시스템날짜란 컴퓨터에 내장되어 있는 시계로부터 실시간으로 얻을 수 있는 일시적인 데이터를 말한다.

표준 SQL에서는 'CURRENT_TIMESTAMP'라는 긴 이름의 함수로 실행했을 때를 기준으로 시간을 표시한다.

 

 

날짜 서식

날짜 데이터를 데이터베이스에 저장할 경우 CURRENT_TIMESTAMP를 사용해 시스템 상의 날짜를 저장할 수 있고, 직접 날짜를 지정해 임의의 날짜도 저장이 가능하다.

날짜 서식은 국가별로 다르나, 일반적으로 일 월년의 순으로 표기한다.

 

 

 

 

 

날짜의 덧셈과 뺄셈

날짜시간형 데이터는 기간형 수치 데이터와 덧셈 및 뺄셈을 할 수 있다.

interval 1 day는 '1일 후'라는 의미의 기간형 상수이다.

기간형 상수의 기술방법은 데이터베이스마다 조금씩 다르다.

 

 

날짜형 간의 뺄셈

두 날짜 사이에 차이가 얼마나 발생하는지 계산이 가능하다.

DATEDIFF('2014-02-28', '2014-01-01')

 


※ 한빛미디어의 'SQL첫걸음' 책을 보고 공부한 내용을 정리하고 있습니다.

'Language > MySQL' 카테고리의 다른 글

[MySQL] 행 추가하기 - INSERT  (0) 2022.09.28
[MySQL] case문으로 데이터 변환하기  (0) 2022.09.27
[MySQL] 문자열 연산  (0) 2022.09.21
[MySQL] 수치 연산  (0) 2022.08.12
[MySQL] 결과 행 제한하기 - LIMIT  (0) 2022.08.09