반응형
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 -- 문자열과 포맷을 맞췄을 경우
반응형
'SQL > MySQL' 카테고리의 다른 글
MySQL 인덱스 강제 지정 / 사용 권장 / 사용 금지 방법 정리 (0) | 2021.04.09 |
---|---|
MySQL EXPLAIN 보는법 사용법 정리 (0) | 2021.04.09 |
MySQL DAYOFWEEK DAYOFMONTH DAYOFYEAR 사용방법 정리 (0) | 2021.04.06 |
MySQL ROWNUM 사용법 및 역순으로 배치하는 방법 (0) | 2021.03.30 |
MySQL 날짜 포맷 사용방법 정리(DATE_FORMAT) (0) | 2021.03.30 |
댓글