날짜 연산

Hyun-jin Won·2021년 10월 9일
0

MySQL로 SQL 시작하기

목록 보기
12/24

시간에 대한 연산

시간에 대한 데이터는 상당히 까다롭다.
시분초 계산과 함께 년월일에 대한 제약이 존재하며, 특정 년도에 따라 년월일 계산이 달라지기 때문이다. 이러한 이유로 대부분의 프로그래밍 언어에서는, 이런 시간 계산을 위한 라이브러리를 제공하며 있다.

MySQL에서도 이러한 연산을 위해 시간을 위한 데이터타입과 연산자, 함수를 제공한다.

CURRENT_TIMESTAMP

SELECT CURRENT_TIMESTAMP;

인자가 없어 괄호를 사용하지 않는 함수이다.
해당 함수는 현재 컴퓨터의 시스템시간을 반환하는 함수이다. 또한 몇안되는 SQL 표준 함수 중 하나이다.

STR_TO_DATE

STR_TO_DATE(str, format);

문자열 str을 format에 맞게 날짜형 데이터로 변환하는 함수이다.
format의 경우 맨 하단의 MySQL 공식문서에서 확인이 가능하다.

ADD, SUB, DIFF

날짜를 더하거나, 빼거나, 시차를 구할 때에도 이러한 함수가 존재한다.

이유는 곰곰히 생각해 보면 알 수 있다.
덧셈을 예로 들어 만약 당신이 2021년 2월 27일에 +1일을 더한다고 가정할 때 결과는 어떻게 나올 것인가? 2021년 3월 1일인가? 2021년 2월 28일인가?

이와 같이 이러한 날짜연산에는 상당히 복잡한 계산이 요구되며, 이를 + - 연산으로 처리하기 어렵다. 이러한 이유로 날짜연산에는 이런 ADD, SUB, DIFF 연산이 존재한다.

참조

Date and Time Functions - MySQL8.0 Document

profile
삽질을 주체하지 못하는 잉간

0개의 댓글