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
사용한 포맷에 날짜 부분만 포함된 경우에는 DATE 형의 데이터를 반환한다.
SELECT STR_TO_DATE('2022-06-02', '%Y-%m-%d');
YY-MM-DD
SELECT STR_TO_DATE('22-06-02', '%y-%m-%d');
hh:mm:ss - 12시간
SELECT STR_TO_DATE('15:30:17', '%H:%i:%s');
hh:mm:ss - 12시간
사용한 포맷에 시간 부분만 포함된 경우에는 TIME 형의 데이터를 반환한다.
단, MySQL 5.6 이하에서만 유효한 것 같다. 5.7 이상에서는 null을 반환한다.
SELECT STR_TO_DATE('09:30:17', '%h:%i:%s');