Mysql
Mysql
Converting Functions
NVL() -> IFNULL() or COALESCE()
DECODE() -> CASE() or IF()
Concatenating strings || -> CONCAT()
test || null returns test in Oracle
CONCAT(test,null) returns null in MySQL
LTRIM and RTRIM -> TRIM()
INSTR() works differently.
Use LOCATE() for Oracles INSTR() with occurrences = 1.
SUBSTRING_INDEX() and REVERSE() might also work.
ROWNUM --> LIMIT
NO DECODE() --> IF() CASE()
NO DUAL necessary (SELECT NOW())
SEQ.CURRVAL --> LAST_INSERT_ID()
SEQ.NEXTVAL --> NULL
%TYPE, %ROWTYPE, exceptions
Packages- shared package variables, built-in packages
Oracle
Mysql
AFTER trigger
trigger
BEFORE trigger
trigger
Check constraint
Check constraint
Column default
Column default
Database
Database
Foreign key
Foreign key
Index
Index
Package
N/A
PL/SQL function
Routine
PL/SQL procedure
Routine
Primary key
Primary key
Role
N/A
Schema
Schema
Sequence
Snapshot
N/A
Synonym
N/A
Table
Table
Tablespace
N/A
Temporary table
Temporary table
Unique key
Unique key
User
User
View
View
STORED PROCEDURES
MYSQL
ORACLE
BIGINT
NUMBER(19, 0)
BIT
RAW
BLOB
BLOB, RAW
CHAR
CHAR
DATE
DATE
DATETIME
DATE
DECIMAL
FLOAT (24)
DOUBLE
FLOAT (24)
DOUBLE PRECISION
FLOAT (24)
ENUM
VARCHAR2
FLOAT
FLOAT
INT
NUMBER(10, 0)
INTEGER
NUMBER(10, 0)
LONGBLOB
BLOB, RAW
LONGTEXT
CLOB, RAW
MEDIUMBLOB
BLOB, RAW
MEDIUMINT
NUMBER(7, 0)
MEDIUMTEXT
CLOB, RAW
NUMERIC
NUMBER
REAL
FLOAT (24)
SET
VARCHAR2
SMALLINT
NUMBER(5, 0)
TEXT
VARCHAR2, CLOB
TIME
DATE
TIMESTAMP
DATE
TINYBLOB
RAW
TINYINT
NUMBER(3, 0)
TINYTEXT
VARCHAR2
VARCHAR
VARCHAR2, CLOB
YEAR
NUMBER