반응형
인터페이스를 통해 데이터를 받아 저장하는 경우가 많습니다. xml, json 등으로 받은 데이터 중 날짜 정보를 Date 타입의 DB에 저장해야되는데, 데이터 송신부 측 날짜 형식이 지멋대로인 경우가 많습니다. 간단하게 DATE 타입으로 변환하는 TO_DATE 방법을 알아보겠습니다.
TO_DATE 예제 [ May 8, 2022 12:41:37 AM ]
2022-05-12 13:01:23
20220512130123
일반적으로 위와 같은 형식으로 오는 경우가 많습니다.
이런 경우는 서버에서 특수문자 replace를 하거나 SQL에서 'YYYY-MM-DD HH24:MI:SS'로 TO_DATE 하는게 익숙합니다.
May 8, 2022 12:41:37 AM
하지만 수신된 DATE 형식이 이런 경우면 조금 당황스러울 수 있습니다.
SELECT
TO_DATE(TEST_DATE, 'MON DD, YYYY HH:MI:SS ' || SUBSTR(TEST_DATE, -2)
FROM DUAL
May, JUN과 같이 영문의 월은 MM이 아닌 MON으로 사용합니다.
다른 포맷은 실제 데이터와 똑같이 맞춰줍니다.
AM/PM은 유동적이니 SUBSTR -2로 맨 뒷자리 2개를 잘라주면
정상적으로 TO_DATE 되는 것을 확인 할 수 있습니다.
진행중 ORA-01810, ORA-01818 등이 발생하면 아래 게시물을 참고하세요.
[ORACLE] 자주보는 오라클 에러 모음 / ORA-에러코드 모음
* 오라클 사용 시 발생할 수 있는 각종 ORA 에러들의 원인 및 해결방법을 참고할 수 있도록 작성. * 자주 보는 에러코드를 Ctrl+F로 찾을 수 있도록 정리. * 전체는 ORA 에러코드에 대한 정보는 아래
studyingazae.tistory.com
그리드형
'IT > DB' 카테고리의 다른 글
[Mybatis] java.lang.RuntimeException: parameter[MI] no set 해결방법 (0) | 2022.04.08 |
---|---|
[ORACLE] 타임스탬프로 과거데이터 조회 복구하기 (TIMESTAMP) (0) | 2022.02.18 |
[Oracle] 오라클 더 크고, 작은 값 비교와 주의할 점 GREATEST, LEAST(최대/최소값) (0) | 2022.01.18 |
[Oracle] 오라클 시퀀스(Sequence) 생성/수정/삭제/currval/nextval (0) | 2021.12.30 |
[ORACLE] ORA-01732 : 뷰에 대한 조작이 부적합합니다. (0) | 2021.12.22 |
댓글