요상한 상황입니다.. 0 6 461

by zumsim [SQL Query] [2019.02.01 09:59:57]


회사 업무 중에 학생 사번을 가지고 데이터를 뽑아오는 쿼리가 있습니다.

근데 다른 학생들은 잘 불러와지는데 한명의 학생만 에러가 납니다

오류 코드는 ORA-01722: 수치가 부적합합니다 인데요..

도저히 이유를 모르겠습니다... 

by 마농 [2019.02.01 10:25:42]

자료 추출 로직 중에 문자를 숫자로 변환하는 부분이 있는지 확인하세요.
명시적 변환이 아니더라도 암시적으로 변환되는 부분이 존재할 수 있습니다.
숫자로 변환되지 못하는 문자데이터가 있는지 확인하세요.


by 우리집아찌 [2019.02.01 10:32:05]
WITH T AS (
SELECT 111 EMP_NO FROM DUAL
)

SELECT * FROM T WHERE EMP_NO = 'A'

이런경우 아닌가요? 숫자형 컬럼에 문자형으로 조회

 


by zumsim [2019.02.01 10:39:51]

아니요 문자형 컬럼에 문자형 조회입니다..ㅜㅜ


by zumsim [2019.02.01 10:33:19]

사번컬럼은 varchar로 해줘서 쿼리로 넘겨줄때 문자로 변환해서 넘겨주고 있습니다...

 

정말 신기한건 같은 쿼리를 타는데 다른 학생들은 정상작동하고 이 학생만 이런 문제가 발생되고 있구요

다른 테이블들에서는 오류없이 데이터를 잘 꺼내오는데 유독 저 한 테이블에서만 저런 에러가 나서 속터지겠습니다...

 


by 마농 [2019.02.01 10:56:13]

꼭 명시적 변환만 생각해서는 안됩니다. 묵시적 변환이 발생하는지도 확인하세요.
도저히 못찾겠으면 쿼리를 올려주세요.


by zumsim [2019.02.01 14:40:44]

해결했습니다..

사번이 문제가 아니더군요.. 사번으로 쿼리에서 데이터를 가져올 때 NVL로 NULL체크를 하는데 거기서 문제였습니다..

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입