반응형
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 |
Tags
- 이진우의 손에 잡히는 경제
- java
- 손에 잡히는 경제
- 상한가 이유
- 파이썬
- 경제
- 급등주 분석
- Programmers
- 알고리즘
- 백준
- 급등 이유
- 급등주
- 주식 분석
- 손에 잡히는 경제 요약
- Python
- 이진우
- 경제뉴스
- 상한가
- 손경제 요약
- 주식
- 코테
- 손경제
- 자바
- 경제뉴스 요약
- 코딩테스트
- 프로그래머스
- 테마주
- 주식 상한가
- boj
- 상한가 분석
Archives
- Today
- Total
Completion over Perfection
마이바티스 (MyBatis) 오라클 sql 오류 해결 (ORA-00933) 본문
반응형
마이바티스 (MyBatis) 오라클 sql 오류 해결 (ORA-00933)
ORA-00933 : SQL COMMAND NOT PROPERLY ENDED
java.sql.SQLSyntaxErrorExceiption: ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다.
분명 sql developer에서 확인했을 때는 아무 이상없이 쿼리실행 + 결과물 출력까지 잘 되는데,
JAVA의 Mybatis에서 이를 옮겨서 실행하면 저 에러가 발생하는 것이었다.
원인은 마지막에 세미콜론을 붙여서 발생한 오류!
select genre_name, genre_order
from channel
where country_code = 'EN'
order by TO_NUMBER(channel_order);
위와 같은 쿼리문이었는데,
sql developer에서는 잘 실행되고 결과물도 잘 출력.
channel_order에 TO_NUMBER를 붙여준 이유는 순서를 정하는 숫자인데, String형으로 되어있어서 Integer형으로 변환하기 위함이었다.
처음에는 마이바티스에서 오류가 나길래,
뭔가 TO_STRING 문법을 그냥 쓰면 안되나? 싶어서 찾아봤는데
그런것도 아닌것 같았고..
구글링하다 보니까 결국 마지막에 세미콜론이 붙어있는채로
마이바티스에 옮겨적다보니 발생한 오류였다.
마이바티스에서 적을때는 아래와 같이 세미콜론을 제거하고 저장한 뒤에 실행해보자!
<select id="selectGenreOrder" resultType="map">
select genre_name, genre_order
from channel
<where>
country_code = 'EN'
</where>
<trim prefix="order by">
TO_NUMBER(channel_order)
</trim>
</select>
반응형
'자바 (Java)' 카테고리의 다른 글
백준 3584 - 가장 가까운 공통 조상 (JAVA) (0) | 2024.01.18 |
---|---|
백준 13549 - 숨바꼭질3 (JAVA 자바 풀이) (0) | 2023.03.14 |
백준 1697 - 숨바꼭질 (JAVA 자바 풀이) (0) | 2023.03.13 |
백준 2470 - 두 용액 (JAVA 자바 풀이) (0) | 2023.03.02 |
백준 1806 - 부분합 (자바 JAVA) (0) | 2023.02.25 |
Comments