1. DUAL
오라클에서 사용하는 DUAL 은 제외하고 사용한다.
SELECT 1 FROM DUAL 과 같이 DUAL 을 사용할 수 없다.
EX> SELECT 1 로만 작성하면 된다.
2. SYSDATE
now() 함수를 사용한다.
EX> SELECT to_char(now(), 'YYYY-MM-DD')
3. NVL
COALESCE 함수를 사용한다
SELECT COALESCE(USER_ID, 0) FROM USER_INFO
4. SEQUENCE(시퀀스)
오라클 시퀀스 문법은 시퀀스명.NEXTVAL
PostgreSQL 에서는 NEXTVAL('시퀀스명') 으로 사용한다.
5. ROWNUM
오라클(Oracle)에서 사용하는 ROWNUM 을 PostgreSQL에서 사용하는 방법
▶ WHERE 절에서 사용
SELECT USER_ID FROM USER_INFO LIMIT 3
▶ SELECT 절에서 사용
SELECT (ROW_NUMBER() OVER()) AS ROWNUM , USER_ID FROM USER_INFO
==> ROW_NUMBER() OVER() 함수를 통하여 ROWNUM을 생성한다.
6. DECODE
PostgreSQL에서는 DECODE 함수를 제공하지 않는다.
CASE문으로 변경한다.
CASE WHEN REG_TYPE = '003' THEN ITEM_TYPE ='QM' ELSE ITEM_TYPE ='GN' END
7. 데이터 형변환
컬럼 혹은 값에 ::[변환할 데이터타입] 을 붙여서 변환
EX> SELECT '1'::int
8. Outer Join
▶ 오라클
SELECT D.DNAME, E.EMP_NO FROM DEPT D, EMP E WHERE D.DEPT_NO = E.DEPT_NO(+) |
▶ PostgreSQL
SELECT D.DNAME, E.EMP_NO FROM DEPT D LEFT OUTER JOIN EMP E ON D.DEPT_NO = E.DEPT_NO; |
'Postgresql' 카테고리의 다른 글
Postgresql 타입별 연산 (0) | 2019.01.08 |
---|---|
Postgresql LPAD() function (0) | 2019.01.08 |
Postgresql 스키마 권한 (0) | 2018.12.27 |
Postgresql 계층형 쿼리 구현 방법 (0) | 2018.12.27 |
Postgresql과 Oracle 차이점 (0) | 2018.12.27 |