MySQL에 mm/dd/yyyy 형식의 날짜 문자열을 삽입하려면 STR_TO_DATE() 함수를 사용하면 됩니다. 이 함수는 지정된 형식의 문자열을 MySQL이 인식할 수 있는 DATE 타입으로 변환해 줍니다.
기본 문법
INSERT INTO yourTableName VALUES(STR_TO_DATE(yourDateValue, yourFormatSpecifier));
예제 테이블 생성
먼저 예제로 사용할 테이블을 생성합니다.
mysql> CREATE TABLE DemoTable
(
ShippingDate date
);
Query OK, 0 rows affected (0.81 sec)날짜 데이터 삽입하기
이제 INSERT 명령어와 함께 STR_TO_DATE() 함수를 사용하여 형식화된 날짜를 삽입합니다. 형식 지정자인 %m(월), %d(일), %Y(4자리 연도)를 활용하면 됩니다.
mysql> INSERT INTO DemoTable VALUES(STR_TO_DATE('06-01-2019', '%m-%d-%Y'));
Query OK, 1 row affected (0.22 sec)
mysql> INSERT INTO DemoTable VALUES(STR_TO_DATE('01-31-2019', '%m-%d-%Y'));
Query OK, 1 row affected (0.22 sec)
mysql> INSERT INTO DemoTable VALUES(STR_TO_DATE('02-01-2018', '%m-%d-%Y'));
Query OK, 1 row affected (0.27 sec)결과 확인하기
SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.
mysql> SELECT * FROM DemoTable;
출력 결과
+--------------+ | ShippingDate | +--------------+ | 2019-06-01 | | 2019-01-31 | | 2018-02-01 | +--------------+ 3 rows in set (0.00 sec)
출력 결과를 보면 mm-dd-yyyy 형식으로 입력한 날짜가 MySQL의 기본 날짜 형식인 YYYY-MM-DD로 자동 변환되어 저장된 것을 확인할 수 있습니다. 이처럼 STR_TO_DATE() 함수를 활용하면 다양한 형식의 날짜 문자열을 손쉽게 DATE 타입으로 변환하여 삽입할 수 있습니다.