MySQL에서 문자열을 날짜로 변환하는 방법
MySQL에서는 STR_TO_DATE() 함수를 사용하면 문자열을 손쉽게 날짜 형식으로 변환할 수 있습니다. 이 함수는 지정한 형식 문자열에 따라 입력값을 해석하여 DATE 타입으로 반환해 줍니다. 아래 예제를 통해 실제 사용 방법을 단계별로 살펴보겠습니다.
1. 테이블 생성
먼저 문자열 형태의 날짜 데이터를 저장할 테이블을 생성합니다.
mysql> create table StringToDateDemo -> ( -> YourDate varchar(100) -> ); Query OK, 0 rows affected (0.49 sec)
2. 레코드 삽입
생성한 테이블에 '10/27/2018' 형식의 날짜 문자열을 삽입합니다.
mysql> insert into StringToDateDemo values('10/27/2018');
Query OK, 1 row affected (0.11 sec)
3. STR_TO_DATE() 함수 기본 구문
STR_TO_DATE() 함수를 사용하여 문자열을 날짜로 변환하는 기본 구문은 다음과 같습니다.
SELECT STR_TO_DATE(yourColumnName, '%m/%d/%Y') FROM yourTableName;
여기서 두 번째 인자인 '%m/%d/%Y'는 입력 문자열의 형식을 지정하는 부분으로, 주요 형식 지정자의 의미는 다음과 같습니다.
- %m : 월 (01~12)
- %d : 일 (01~31)
- %Y : 4자리 연도 (예: 2018)
4. 실제 적용 및 결과 확인
이제 위 구문을 실제로 적용해 보겠습니다.
mysql> SELECT STR_TO_DATE(YourDate, '%m/%d/%Y')
-> FROM StringToDateDemo;
실행 결과는 다음과 같습니다.
+-----------------------------------+ | STR_TO_DATE(YourDate, '%m/%d/%Y') | +-----------------------------------+ | 2018-10-27 | +-----------------------------------+ 1 row in set (0.00 sec)
'10/27/2018'이라는 문자열이 MySQL의 표준 날짜 형식인 '2018-10-27'로 성공적으로 변환된 것을 확인할 수 있습니다. 참고로, 입력 문자열의 형식이 다른 경우(예: 'YYYY-MM-DD' 또는 'DD-MM-YYYY')에는 해당 형식에 맞게 형식 지정자만 변경해 주면 됩니다. 또한 변환된 결과를 DATE, DATETIME 타입의 컬럼에 저장하거나 날짜 비교, 정렬 등에 활용할 수 있어 실무에서 매우 유용하게 사용됩니다.