본문 바로가기
SQL/MySQL

MySQL STR_TO_DATE 함수 포맷 사용방법 정리

by wakestand 2021. 4. 8.
반응형

MySQL에서 STR_TO_DATE는 문자열을 '포맷' 형식의

DATETIME DATE TIME 으로 반환 시 사용하는데

 

문자열에 포맷을

년월일 시분초로 설정하면 DATETIME

년월일로 설정하면 DATE

시분초로 설정하면 TIME

타입의 값을 반환하게 된다

 

여기서 문자열과 포맷이 다를 경우에는

NULL을 반환하기 때문에

문자열과 포맷을 꼭 동일하게 맞춰줘야 한다

 

포맷은 아래 표의 내용을 참조해주면 되고

 

%Y 4글자 년 %T hh:mm:ss
%y 2글자 년 %r hh:mm:ss AM/PM
%m 2글자 월(ex : 01, 12) %M 월(영문 전체 March)
%c 월(ex: 1, 12) %b 월(영문 축약 Mar)
%d 2글자 일(01, 30) %W 일(영문 전체 Monday)
%e 일(ex: 1, 30) %a 일(영문 축양 Mon)
%H 24시간 시간 %i
%l 12시간 시간 %S

 

예제에 사용한 쿼리는 아래와 같다

 

-- STR_TO_DATE('문자열', '포맷')
-- 문자열을 DATETIME/DATE/TIME 타입으로 반환
-- 문자열과 포맷이 다를 경우 NULL 반환

SELECT STR_TO_DATE('20210407090000', '%Y%m%d%H%i%s') TEST1 -- DATETIME 형식으로 반환
       ,STR_TO_DATE('20210407', '%Y%m%d') TEST2 -- DATE 형식으로 반환
       ,STR_TO_DATE('090000', '%H%i%s') TEST3 -- TIME 형식으로 반환
       ,STR_TO_DATE('2021-04-07', '%Y%m%d') TEST4 -- 문자열과 포맷이 다를 경우 NULL
       ,STR_TO_DATE('2021-04-07', '%Y-%m-%d') TEST5 -- 문자열과 포맷을 맞췄을 경우
반응형

댓글