SQL Converter Online – Oracle ↔ PostgreSQL
Convert SQL between Oracle and PostgreSQL. Migrate schema and statements both ways. Free database migration tool.
SQL Database Converter
Advanced SQL conversion tool for migrating between Oracle and PostgreSQL
Lines: 0
Characters: 0
→
Lines: 0
Time: 0ms
Quick Reference
| Oracle | PostgreSQL |
|---|---|
| NUMBER | NUMERIC or INTEGER |
| VARCHAR2 | VARCHAR |
| CLOB | TEXT |
| BLOB | BYTEA |
| DATE | TIMESTAMP |
| TIMESTAMP | TIMESTAMP |
| RAW | BYTEA |
| LONG | TEXT |
| Oracle | PostgreSQL |
|---|---|
| SYSDATE | CURRENT_TIMESTAMP |
| NVL() | COALESCE() |
| DECODE() | CASE WHEN |
| ROWNUM | LIMIT/OFFSET |
| DUAL | (removed) |
| TO_CHAR() | TO_CHAR() |
| TO_DATE() | TO_TIMESTAMP() |
| SUBSTR() | SUBSTRING() |
| Oracle | PostgreSQL |
|---|---|
| OUTER JOIN (+) | LEFT/RIGHT JOIN |
| CONNECT BY | WITH RECURSIVE |
| START WITH | WITH RECURSIVE |
| SEQUENCE.NEXTVAL | nextval('sequence') |
| SEQUENCE.CURRVAL | currval('sequence') |
| := (assignment) | := (same) |
| || (concatenation) | || (same) |
Example 1: Simple Query
-- Oracle SELECT * FROM employees WHERE ROWNUM <= 10; -- PostgreSQL SELECT * FROM employees LIMIT 10;
Example 2: Date Function
-- Oracle SELECT SYSDATE FROM DUAL; -- PostgreSQL SELECT CURRENT_TIMESTAMP;
Example 3: Sequence
-- Oracle
INSERT INTO users (id, name) VALUES (user_seq.NEXTVAL, 'John');
-- PostgreSQL
INSERT INTO users (id, name) VALUES (nextval('user_seq'), 'John');
What does the SQL converter do?
Convert Oracle SQL to PostgreSQL or PostgreSQL to Oracle. Handles data types, functions, and common syntax differences for migration and compatibility.