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

MySQL에서 모든 월의 마지막 날짜 구하는 방법 – LAST_DAY() 함수 활용법

MySQL에서 날짜 데이터가 속한 달의 마지막 날을 구하려면 LAST_DAY() 함수를 사용하면 됩니다. 이 함수는 인자로 전달된 날짜가 포함된 해당 월의 마지막 날짜를 자동으로 계산해 반환해 주기 때문에, 윤년이나 월별 일수 차이를 직접 처리할 필요가 없습니다.

기본 문법

SELECT LAST_DAY(yourColumnName) FROM yourTableName;

예제 테이블 생성

먼저 실습에 사용할 테이블을 생성합니다.

mysql> create table DemoTable
    (
    ShippingDate date
    );
Query OK, 0 rows affected (0.69 sec)

다음으로 INSERT 명령어를 사용해 몇 개의 레코드를 삽입합니다.

mysql> insert into DemoTable values('2019-01-12');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('2019-02-01');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('2019-03-04');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable values('2019-04-21');
Query OK, 1 row affected (0.14 sec)

SELECT 문으로 테이블에 저장된 모든 레코드를 확인해 보겠습니다.

mysql> select *from DemoTable;

출력 결과

+--------------+
| ShippingDate |
+--------------+
| 2019-01-12   |
| 2019-02-01   |
| 2019-03-04   |
| 2019-04-21   |
+--------------+
4 rows in set (0.00 sec)

LAST_DAY() 함수로 각 월의 마지막 날짜 조회하기

아래 쿼리는 MySQL에서 모든 월의 마지막 날짜를 가져오는 방법을 보여줍니다.

mysql> select LAST_DAY(ShippingDate) from DemoTable;

출력 결과

+------------------------+
| LAST_DAY(ShippingDate) |
+------------------------+
| 2019-01-31             |
| 2019-02-28             |
| 2019-03-31             |
| 2019-04-30             |
+------------------------+
4 rows in set (0.00 sec)

실행 결과를 보면 각 날짜가 속한 월의 마지막 날이 정확히 반환된 것을 확인할 수 있습니다. 예를 들어 2월은 28일(윤년이 아닌 경우), 4월은 30일로 계산됩니다. 이처럼 LAST_DAY() 함수를 활용하면 별도의 조건문 없이 간단하게 월말 날짜를 구할 수 있으며, 결산일 계산, 만기일 산정 등 다양한 업무 로직에 유용하게 사용할 수 있습니다.