반응형
최근 회사에서 사용하는 데이터베이스가 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자에 비해서 상당히 길다.
반응형
'개발 & 데이터베이스 > DB' 카테고리의 다른 글
MySQL 권한 부여하는 방법 (GRANT) (0) | 2024.11.04 |
---|---|
오라클 조건문 IF ELSIF, CASE WHEN 사용 방법 (0) | 2023.12.03 |
오라클 쿼리문 수행(실행) 시간 측정하는 방법 (SET TIMING ON) (0) | 2023.10.24 |
오라클 COUNT(*) COUNT(1) vs COUNT(컬럼) 차이점 (0) | 2023.09.05 |
오라클 PL/SQL RAISE_APPLICATION_ERROR 사용자 예외 처리 (0) | 2023.05.09 |