현재 날짜 시간에서 30일을 빼려면 먼저 현재 날짜 시간에 대한 정보를 얻은 다음 MySQL에서 now() 메서드를 사용해야 합니다. now()는 현재 날짜 시간을 제공합니다.
이에 사용할 메소드는 MySQL의 DATE_SUB()입니다. 다음은 현재 날짜/시간에서 30일을 빼는 구문입니다.
구문은 다음과 같습니다 -
DATE_SUB(NOW(),INTERVAL 30 DAY);
위의 구문은 현재 날짜 시간을 먼저 계산하고 다음 단계에서 30일을 뺍니다. 먼저 현재 날짜 시간을 가져오는 쿼리를 살펴보겠습니다. -
mysql> select now();
다음은 출력입니다 -
+---------------------+ | now() | +---------------------+ | 2018-11-23 16:38:43 | +---------------------+ 1 row in set (0.00 sec)
이제 date_sub() 메서드를 사용하여 30일을 빼보겠습니다. 쿼리는 다음과 같습니다 -
mysql> select date_sub(now(),interval 30 day);
다음은 30일을 뺀 날짜를 표시하는 출력입니다. -
+---------------------------------+ | date_sub(now(),interval 30 day) | +---------------------------------+ | 2018-10-24 16:38:50 | +---------------------------------+ 1 row in set (0.00 sec)
결과에서 날짜 값만 얻으려면 now() 대신 curdate()를 사용할 수 있습니다. 다음은 curdate()의 데모입니다.
쿼리는 다음과 같습니다 -
mysql> select date_sub(curdate(),interval 30 day);
다음은 출력입니다 -
+-------------------------------------+ | date_sub(curdate(),interval 30 day) | +-------------------------------------+ | 2018-10-24 | +-------------------------------------+ 1 row in set (0.00 sec)