본문 바로가기
DB

[MySQL] 어제 날짜, 오늘 날짜, 내일 날짜 구하는 방법

by 세바개님 2023. 3. 10.

MySQL에서 오늘, 어제, 내일 날짜를 구하는 방법은 다음과 같습니다.

1. 오늘 날짜 구하기

 

오늘 날짜는 NOW() 함수를 사용하여 구할 수 있습니다. NOW() 함수는 현재 시간을 반환합니다. 날짜만 필요한 경우 DATE() 함수로 형식을 변경할 수 있습니다.

 

SELECT NOW();    # 2023-03-10 08:30:00
SELECT DATE(NOW());    # 2023-03-10

 

2. 어제 날짜 구하기


어제 날짜는 DATE_SUB() 함수를 사용하여 현재 날짜에서 1일을 뺀 값을 구합니다. DATE_SUB() 함수는 첫 번째 인수로 날짜를 받고, 두 번째 인수로 빼고자 하는 기간과 기간 단위를 받습니다.

SELECT DATE_SUB(NOW(), INTERVAL 1 DAY);    # 2023-03-09


3. 내일 날짜 구하기


내일 날짜는 DATE_ADD() 함수를 사용하여 현재 날짜에 1일을 더한 값을 구합니다. DATE_ADD() 함수는 첫 번째 인수로 날짜를 받고, 두 번째 인수로 더하고자 하는 기간과 기간 단위를 받습니다.

 

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);    # 2023-03-11


4. 주의 사항

 

MySQL에서 날짜를 다룰 때 주의할 점은 다음과 같습니다.


1) 날짜 형식

MySQL에서 DATE 타입은 'YYYY-MM-DD' 형식으로 저장됩니다. 날짜와 시간 정보를 모두 저장하는 DATETIME 타입은 'YYYY-MM-DD HH:MM:SS' 형식으로 저장됩니다.


2) 시간대

MySQL에서 시간대는 서버 시간을 따르므로, 서버가 위치한 시간대와 클라이언트가 위치한 시간대가 다를 경우 주의해야 합니다.


3) 날짜 함수

MySQL에서 제공하는 날짜 함수는 다양하지만, 각 함수의 인자와 반환값의 형식을 잘 파악하고 사용해야 합니다.


4) 데이터 타입 변환

날짜와 관련된 계산을 수행할 때, 필요한 경우 데이터 타입을 변환하는 과정이 필요합니다. 이때 발생할 수 있는 데이터 손실에 대해 주의해야 합니다.


5) 인덱싱

MySQL에서 날짜와 관련된 컬럼을 인덱싱하면 성능 향상에 큰 도움이 됩니다. 이때 인덱스의 선택성(selectivity)과 인덱스의 크기를 고려하여 적절한 인덱스를 선택해야 합니다.

위의 주의할 점들을 숙지하고 MySQL에서 날짜와 관련된 작업을 수행하면 좀 더 안정적이고 효율적인 코드를 작성할 수 있습니다.

댓글