DataBase/Oracle

[ORACLE]ORA-00970: GROUP BY 표현식이 아닙니다

DevStory 2021. 7. 7.

토드, SQL Developer, DBeaver와 같은 SQL 개발 도구에서는 쿼리가 정상적으로 실행이 되는데, mybatis 또는 ibatis에서 「 ORA-00970: GROUP BY 표현식이 아닙니다 」 라는 에러가 발생하는 경우가 있습니다.


에러 원인

GROUP BY 절에 파라메타가 있을 경우 

SELECT COLUMN1
     , #{PARAM}
FROM TABLE
GROUP COLUMN1, #{PARAM}

에러 해결 방법

  1. #$로 변경($로 변경시 보안상 문제 있으므로 추천하는 방안은 아님)
  2. InLine View 적용
SELECT COLUMN1
     , COLUMN2
FROM
(
SELECT COLUMN1
     , #{PARAM} AS COLUMN2
FROM TABLE
)
GROUP COLUMN1, COLUMN2
반응형

댓글