Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL CURDATE() 함수로 전날(어제) 날짜 구하는 방법

MySQL에서 CURDATE() 함수는 현재 날짜를 반환합니다. 이 함수와 DATE_SUB() 함수를 함께 사용하면 전날(어제)의 날짜를 손쉽게 구할 수 있습니다.

1. 현재 날짜 확인하기

먼저 CURDATE() 함수를 사용하여 현재 날짜를 조회해 보겠습니다.

mysql> select CURDATE();
+------------+
| CURDATE()  |
+------------+
| 2019-06-09 |
+------------+
1 row in set (0.00 sec)

현재 날짜가 2019-06-09로 출력되었습니다.

2. 테이블 생성하기

예제를 진행하기 위해 배송 날짜를 저장할 테이블을 먼저 생성하겠습니다.

mysql> create table DemoTable
    -> (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ShippingDate date
    -> );
Query OK, 0 rows affected (0.63 sec)

3. DATE_SUB()로 전날 데이터 삽입하기

INSERT 명령어로 레코드를 삽입할 때 date_sub(CURDATE(), interval 1 day)를 사용하면 현재 날짜에서 하루를 뺀 값, 즉 전날 날짜를 저장할 수 있습니다.

mysql> insert into DemoTable(ShippingDate) values(date_sub(CURDATE(), interval 1 day));
Query OK, 1 row affected (0.22 sec)

4. 결과 확인하기

SELECT 문을 사용하여 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

출력 결과

+----+--------------+
| Id | ShippingDate |
+----+--------------+
| 1 | 2019-06-08    |
+----+--------------+
1 row in set (0.00 sec)

현재 날짜가 2019-06-09였기 때문에, 하루를 뺀 2019-06-08이 정상적으로 저장된 것을 확인할 수 있습니다.

참고: 다른 방법

전날 날짜를 구하는 또 다른 방법으로 다음과 같은 쿼리도 사용할 수 있습니다.

mysql> select CURDATE() - INTERVAL 1 DAY;

또는

mysql> select DATE_SUB(CURDATE(), INTERVAL 1 DAY);

두 방법 모두 동일하게 전날 날짜를 반환하므로, 상황에 맞게 편리한 방식을 선택하여 사용하시면 됩니다.