728x90
2022/04/14(목)
Mysql에서 Oracle로 쿼리문 변경이유
회사에서 프로젝트를 하는데 Mysql의 쿼리문을 Oracle 쿼리문으로 변경해야하는 업무를 하게 됐다.
빨리 변경을 하기 위해 방법을 찾다가 프로그램을 먼저 돌려서 한번 바꾸고 그 이후에는 쿼리문을 따로 돌려보면서 오류를 잡는 방식으로 변경했다.
사용한 프로그램
사용 방법
- 왼쪽창에 변경하고자 하는 쿼리문을 넣고 위에 select 창에서 해당하는 DB를 선택
- 오른쪽이 고치고 싶은 DB를 선택하고 convert버튼을 클릭하면 변환 해준다.
왼쪽이 Mysql, 오른쪽이 Oracle
1. IFNULL --> NVL로 변경된다.
컬럼의 값이 0일 때 대체되는 함수
2. DATE_FORMAT --> TO_CHAR
yyyy/mm/dd와 같이 날짜 형식 수정해주는 함수
3. LIMIT --> ROWNUM
페이징 처리를 할 때 사용
번외
페이징 처리를 할 때 ROWNUM을 사용했는데 ROW_NUMBER()를 사용해서 할수도 있다.
찾아보니 ROW_NUMBER()를 사용해서 하는 거보다 ROWNUM을 사용하는게 속도가 더 빠르다.
ROWNUM을 사용하면서 인덱스를 적용하면 더 빠르다고 한다.
SELECT * FROM(
SELECT
ROWNUM AS RNUM,
T.*
FROM TABLE_NAME
) T
WHERE ROWNUM <= startPage
)
WHERE RNUM >= endPage;
728x90
'코딩 연습장 > 데이터베이스(DB)' 카테고리의 다른 글
[oracle] java.sql.SQLException: ORA-28040 오류 해결 (0) | 2024.06.10 |
---|---|
Hadoop/Hive 이용한 부동산 거래량, 지수 비교 분석 프로젝트 - 3 (부동산 분석) (0) | 2021.07.01 |
Hadoop/Hive 이용한 부동산 거래량, 지수 비교 분석 프로젝트 - 1 (데이터 수집) (0) | 2021.06.30 |
MariaDB설치하기 (가상 머신) (0) | 2021.04.28 |
데이터베이스 - 커서&예외처리 연습문제 (0) | 2021.03.18 |