Database

[MySQL] STR_TO_DATE - 문자열을 날짜형 데이터로 변환

비번변경 2022. 7. 15. 23:02

STR_TO_DATE()

날짜, 시간 데이터를 지정한 포맷의 데이터로 변환할 때는 DATE_FORMAT 함수를 사용한다.

이와 반대로 특정 포맷의 데이터를 날짜, 시간 데이터로 변환할 때는 STR_TO_DATE 함수를 사용할 수 있다.

 

 

용법

STR_TO_DATE(string, format)
# string : 변환할 물자열
# format : 사용할 형식

 

사용하는 포맷은 DATE_FORMAT 함수에서 사용하는 것과 동일해서 별도로 적어놓지는 않는다.

참고 : 2022.06.15 - [MySQL] NOW, DATE_FORMAT



STR_TO_DATE 예시

자주 사용하는 형태를 몇 가지 정리한다.

 

YYYY-MM-DD hh:mm:ss

사용한 포맷에 날짜와 시간 부분 모두 포함된 경우에는 DATETIME 형의 데이터를 반환한다.

SELECT STR_TO_DATE('2017,8,14 10:40:10', '%Y,%m,%d %H:%i:%s');

YYYY-MM-DD hh:mm:ss

 

YYYY-MM-DD 

사용한 포맷에 날짜 부분만 포함된 경우에는 DATE 형의 데이터를 반환한다.

SELECT STR_TO_DATE('2022-06-02', '%Y-%m-%d');

YYYY-MM-DD

 

YY-MM-DD

SELECT STR_TO_DATE('22-06-02', '%y-%m-%d');

YY-MM-DD

 

hh:mm:ss - 12시간

SELECT STR_TO_DATE('15:30:17', '%H:%i:%s');

24시간 제

 

hh:mm:ss - 12시간

사용한 포맷에 시간 부분만 포함된 경우에는 TIME 형의 데이터를 반환한다.

단, MySQL 5.6 이하에서만 유효한 것 같다. 5.7 이상에서는 null을 반환한다.

SELECT STR_TO_DATE('09:30:17', '%h:%i:%s');

12시간 제

 

 

참고 문서

https://www.w3schools.com/sql/func_mysql_str_to_date.asp