반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- spring
- JPA
- 스프링부트
- db
- DI
- mybatis
- 스프링 빈
- kafka
- Effective Java
- sqld
- 스프링 부트
- 스프링 부트 기본
- 스프링 컨테이너
- 싱글톤
- jdbc
- SQL
- java
- thymeleaf
- assertThrows
- 스프링 부트 입문
- resultMap
- DIP
- 생성자 주입
- 필드 주입
- assertThat
- @Configuration
- 스프링
- springboot
- 스프링 프레임워크
- Javascript
Archives
- Today
- Total
선 조치 후 분석
ORA-01861 : literal does not match format string 본문
728x90
반응형
SMALL
운영서버에 올리고 나면 한 번쯤은 겪는 문제라고 생각하는 에러다.
원인 : TO_DATE || TO_CHAR의 함수에 날짜 형식을 잘못 입력하거나, 입력하지 않았을 때 발생
DATE -> TO_CAHR 일 때, 표현하고자 하는 Format을 지정해줘야 한다.
VARCHAR -> TO_DATE 일 때, 꼭 현 VARCHAR 형식의 Format을 지정해주고 DATE로 변경해야 한다.
아래는 필자가 작성한 코드다. 아래의 코드로 설명하면 이렇다.
CASE
WHEN CO.MODIFIED_DT <![CDATA[ IS NOT NULL ]]> THEN TO_CHAR(CO.MODIFIED_DT, 'YYYY.MM.DD')
WHEN CO.MODIFIED_DT <![CDATA[ IS NULL ]]> THEN TO_CHAR(TO_DATE(MC.END_DT, 'YYYY.MM.DD'), 'YYYY.MM.DD')
ELSE ''
END AS MOD_DATE
MODIFIED_DT 타입은 'DATE"이고, END_DT 타입은 VARHCAR 인 것을 확인할 수 있다.
DATE타입에서 TO_CHAR로 변환할 때는, 표현하고자 하는 Format('YYYY.MM.DD')만 작성해주고,
VARCHAR에서 TO_DATE로 변환할대는, 현재 VARCHAR의 Format('YYYY.MM.DD')을 꼭 작성해줘야 한다.
728x90
반응형
LIST