본문 바로가기

DB/Oracle

[Oracle] ORA-01722 & ORA-00979 & ORA-00918 & ORA-00920

ORA-01722 : 수치가 부적합합니다.

 

무언가 데이터 타입이 안맞는거

컬럼의 타입을 맞춰주면됨

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

ORA-00979 : GROUP BY 표현식이 아닙니다.

 

여러 컬럼들을 그룹으로 묶어서 조회할 때 발생할 수 있는 에러

GROUP BY에 SELECT 문에 들어가는 컬럼들을 넣어주면됨

 

SUM 같은 집계함수는 논외

보통 집계함수 쓸려고 하다가 자주 뜨는에러

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

ORA-00918: 열의 정의가 애매합니다.

 

여러 테이블을 조인 할때 많이 발생하는 오류

조인한 테이블들에 동일한 컬럼명이 존재하는데 어떤 테이블 컬럼인지 헷갈려서 발생

테이블명 뒤 별명 설정후  별명.컬럼명 이렇게 작성필요

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

ORA-00920: 관계 연산자가 부적합합니다.

 

수식이 잘못되었을 확률이 크다. 잘 찾아보자 

EX) CASE WHEN TEMP  THEN '양수' ELSE '0또는음수' END         -오류

       CASE WHEN TEMP >0 THEN '양수' ELSE '0또는음수' END     -정답