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

MySQL 데이터베이스에 날짜를 저장하는 가장 쉬운 방법

MySQL 데이터베이스에 날짜를 저장할 때 가장 간편한 방법은 STR_TO_DATE() 함수를 사용하는 것입니다. 이 함수는 문자열로 된 날짜 값을 지정한 형식에 맞춰 DATE 타입으로 변환해 주기 때문에, '일/월/년'처럼 다양한 형태의 날짜 문자열을 안전하게 저장할 수 있습니다.

insert into yourTableName values(STR_TO_DATE('yourDate', '%d/%m/%Y'));

1. 테이블 생성하기

먼저 날짜를 저장할 테이블을 생성합니다. 아래 예제에서는 입학일(AdmissionDate)을 저장할 수 있도록 DATE 타입의 컬럼 하나를 만들었습니다.

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

2. STR_TO_DATE()로 날짜 데이터 삽입하기

이제 insert 명령어와 함께 STR_TO_DATE() 함수를 사용하여 레코드를 삽입합니다. '%d/%m/%Y' 형식 지정자는 각각 일(day), 월(month), 연도(year)를 의미합니다.

mysql> insert into DemoTable values(STR_TO_DATE('10/01/2013', '%d/%m/%Y'));
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values(STR_TO_DATE('31/01/2015', '%d/%m/%Y'));
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(STR_TO_DATE('23/04/2019', '%d/%m/%Y'));
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable values(STR_TO_DATE('01/03/2019', '%d/%m/%Y'));
Query OK, 1 row affected (0.48 sec)

3. 저장된 데이터 확인하기

select 명령어를 사용하여 테이블에 저장된 레코드를 조회합니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다. '일/월/년' 형식으로 입력했던 값들이 MySQL의 표준 날짜 형식인 '년-월-일'(YYYY-MM-DD)로 자동 변환되어 저장된 것을 확인할 수 있습니다.

+---------------+
| AdmissionDate |
+---------------+
| 2013-01-10    |
| 2015-01-31    |
| 2019-04-23    |
| 2019-03-01    |
+---------------+
4 rows in set (0.00 sec)

자주 사용되는 형식 지정자

STR_TO_DATE() 함수에서 활용할 수 있는 주요 형식 지정자는 다음과 같습니다.

%d : 일(01~31)
%m : 월(01~12)
%Y : 4자리 연도(예: 2024)
%y : 2자리 연도(예: 24)
%H : 시(00~23)
%i : 분(00~59)
%s : 초(00~59)

이처럼 STR_TO_DATE() 함수를 활용하면 입력되는 날짜 문자열의 형식을 명확하게 지정할 수 있어, 잘못된 날짜 해석으로 인한 오류를 방지하고 데이터의 일관성을 유지할 수 있습니다.