Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
Archives
Today
Total
관리 메뉴

우주코딩

오류 코드: ORA-01898 본문

월급루팡

오류 코드: ORA-01898

우주코딩 2022. 6. 7. 17:37

오류 코드: ORA-01898

오류 코드: ORA-01898
설명: 정밀도 지정자가 너무 많습니다
원인: 날짜를 자르거나 반올림하는 동안 날짜 형식 그림에서 추가 데이터가 발견되었습니다.
조치: 날짜 형식 그림의 구문을 확인하고 다시 시도하십시오.

예제

order_date 컬럼 (DATE 타입) 을 between을 써서 조건을 줄 때
where trunc(order_date, 'yyyymmdd') between #{fromDate}(문자열 'yyyymmdd') and #{toDate}(문자열 'yyyymmdd')
이렇게만 걸 경우 나오는 에러

비교를 하려면 똑같은 데이터 형으로 변환한 뒤에 조건을 걸어야한다.

where trunc(to_char(order_date, 'yyyymmdd')) between #{fromDate}(문자열 'yyyymmdd') and #{toDate}(문자열 'yyyymmdd')

혹은 
wherer trunc(TO_DATE(order_date, 'YYYY-MM-DD')) between to_date(#{fromDate}(문자열 'yyyymmdd') , 'yyyymmdd') and to_date(#{toDate}(문자열 'yyyymmdd') , 'yyyymmdd')
Comments