PostgreSQL

오라클(Oracle)에서 포스트그레(PostgreSQL)로 쿼리 변환, 마이그레이션 하는 방법, 문법 차이

gold99 2024. 1. 8. 23:27
오라클
오라클
PostgreSQL
MSSQL
Dual
SELECT 1 FROM DUAL
SELECT 1
SELECT 1
NULL 함수
SELECT NVL(param1, param2) DAUL
NVL(param1, param2)
ISNULL(param1, param2)
coalesce(name, 'No Data') -- 지정 문자열
coalesce(name, null) -- null
coalesce(name, '{}')::json as name -- json
coalesce(name, id) -- 컬럼
DECODE
DECODE
CASE WHEN THEN ELSE END
IIF( boolean_expression, true_value, false_value )
CASE WHEN THEN ELSE END
CASE WHEN THEN ELSE END
데이터 타입
NUMBER
NUMERIC
FLOAT
NUMBER
NUMERIC
VARCHAR2
VARCHAR
VARCHAR
TIMESTAMP
CURRENT_TIMESTAMP
DATETIME
SYSDATE
NOW()
GETDATE()
시퀀스
시퀀스명.NEXTVAL
NEXTVAL('시퀀스명')
SELECT NEXT VALUE FOR SEQ
ROWNUM
ROWNUM
WHERE 절 : LIMIT 1
SELECT 절 : ROW_NUMBER() OVER(ORDER BY 필드 asc)
SELECT 절 : ROW_NUMBER() OVER() AS ROWNUM
INSTR() 함수
INSTR()
position()
CHARINDEX("찾을문자", "문자열", "시작위치")
JOIN
SELECT b.col1, a.col2
FROM base_table b, attributes a
WHERE b.id=a.b_id(+);
SELECT b.col1, a.col2
FROM base_table b
LEFT JOIN attributes a ON b.id = a.b_id;
SELECT a.empno
, a.ename
, a.job
, a.mgr
, a.deptno
, b.dname
FROM emp AS a
LEFT OUTER JOIN dept AS b
ON a.deptno = b.deptno