개발 & 데이터베이스/DB

Oracle vs MySQL 데이터 타입 비교

K.두부 2024. 9. 23. 15:09
반응형

최근 회사에서 사용하는 데이터베이스가 Oracle에서 MySQL로 변경되고, 테이블을 생성하고 수정하는데 불편함을 느껴서 데이터 타입을 비교 정리하려고 한다.

 

Oracle MySQL
BFILE VARCHAR(n)
CHAR(n), CHARACTER(n), n < 256 CHAR(n), CHARACTER(n)
CHAR(n), CHARACTER(n), n > 255 VARCHAR(n)
CLOB LONGTEXT
DATE DATETIME
DECIMAL(p, s), DEC(p, s) DECIMAL(p, s), DEC(p, s)
DOUBLE PRECISION DOUBLE PRECISION
FLOAT(p) DOUBLE
INTEGER, INT INT
INTERVAL YEAR(p) TO MONTH VARCHAR(30)
INTERVAL DAY(p) TO SECOND(s) VARCHAR(30)
LONG LONGTEXT
LONG RAW LONGBLOB
NCHAR(n) | n < 256 NCHAR(n)
NCHAR(n) | n > 255 NVARCHAR(n)
NCHAR VARYING(n) NCHAR VARYING(n)
NCLOB NVARCHAR(max)
NUMBER(p, 0), NUMBER(p) | 1 ≤ p < 3 TINYINT
NUMBER(p, 0), NUMBER(p) | 3 ≤ p < 5 SMALLINT
NUMBER(p, 0), NUMBER(p) | 5 ≤ p < 9 INT
NUMBER(p, 0), NUMBER(p) | 9 ≤ p < 19 BIGINT
NUMBER(p, 0), NUMBER(p) | 19 ≤ p ≤ 38 DECIMAL(p)
NUMBER(p, s) | s > 0 DECIMAL(p, s)
NUMBER, NUMBER(*) DOUBLE
NUMERIC(p, s) NUMERIC(p, s)
NVARCHAR2(n) NVARCHAR(n)
RAW(n) | n < 256 BINARY(n)
RAW(n) | n > 255 VARBINARY(n)
REAL DOUBLE
ROWID CHAR(10)
SMALLINT DECIMAL(38)
TIMESTAMP(p) DATETIME(p)
TIMESTAMP(p) WITH TIME ZONE DATETIME(p)
UROWID(n) VARCHAR(n)
VARCHAR(n), VARCHAR2(n) VARCHAR(n)
XMLTYPE LONGTEXT

 

 

MySQL 에서 VARCHAR 타입은 최대 길이가 65,535자로 Oracle 의 VARCHAR2 타입의 최대 길이 4,000자에 비해서 상당히 길다.

 

 

반응형