數據類型映射關系
更新時間 2023-07-12 13:44:18
最近更新時間: 2023-07-12 13:44:18
分享文章
本文主要介紹 數據類型映射關系
Oracle-?>MySQL
介紹Oracle->MySQL的映射關系。
表 數據類型映射關系
| 數據類型(Oracle) | 條件 | 數據類型(MySQL) | 是否支持映射 |
|---|---|---|---|
| CHAR | length<=255 | CHAR | 支持 |
| CHAR | length>255 | VARCHAR | 支持 |
| VARCHAR | Size(整行)<=65536 | VARCHAR | 支持 |
| VARCHAR | Size(整行)>65536 | TEXT | 支持 |
| VARCHAR2 | - | VARCHAR2 | 支持 |
| NCHAR | length<=255 | NCHAR | 支持 |
| NCHAR | length>255 | NVARCHAR | 支持 |
| NVARCHAR2 | - | NVARCHAR | 支持 |
| NUMBER | precision=0 scale = 0 | DECIMAL(65,30) | 支持 |
| NUMBER | precision!=0 scale!=0 | DECIMAL(precision, scale) | 支持 |
| FLOAT | - | FLOAT | 支持 |
| BINARY_FLOAT | - | FLOAT | 支持 |
| BINARY_DOUBLE | - | DOUBLE | 支持 |
| DATE | - | DATETIME | 支持 |
| TIMESTAMP | - | DATETIME | 支持 |
| TIMESTAMP WITH TIME ZONE | 精度支持6位 | TIMESTAMP | 支持 |
| TIMESTAMP WITH LOCAL TIME ZONE | 精度支持6位 | TIMESTAMP | 支持 |
| INTERVAL | 精度支持6位 | VARCHAR(30) | 支持 |
| BLOB | - | LONGBLOB | 支持 |
| CLOB | - | LONGTEXT | 支持 |
| NCLOB | - | LONGTEXT | 支持 |
| LONG | - | LONGTEXT | 支持 |
| RAW | - | VARBINARY | 支持 |
| LONG RAW | - | LONGBLOB | 支持 |
| ROWID | - | VARCHAR(18) | 支持 |
| UROWID | - | - | 不支持 |
| XMLTYPE | - | - | 不支持 |
| BFILE | - | - | 不支持 |
| SDO_GEOMETRY | - | - | 不支持 |
Oracle-?>DRDS
介紹Oracle->DRDS的映射關系。
表 數據類型映射關系
| 數據類型(Oracle) | 條件 | 數據類型(DRDS) | 是否支持映射 |
|---|---|---|---|
| CHAR(n) | n<=255 | CHAR(n) | 支持 |
| CHAR(n) | n>255 | VARCHAR(n) | 支持 |
| VARCHAR(Size) | Size(整行)<=65535 | VARCHAR(n) | 支持 |
| VARCHAR(Size) | Size(整行)>65535 | TEXT | 支持 |
| VARCHAR2(n) | - | VARCHAR(n) | 支持 |
| NCHAR(n) | n<=255 | NCHAR(n) | 支持 |
| NCHAR(n) | n>255 | NVARCHAR(n) | 支持 |
| NVARCHAR2(n) | - | NVARCHAR(n) | 支持 |
| NUMBER(p,s) | s>0 | NUMBER(p,s) | 支持 |
| NUMBER(p,s) | s<=0 | NUMBER(p-s,0) | 支持 |
| BINARY_FLOAT | - | FLOAT | 支持 |
| BINARY_DOUBLE | - | DOUBLE | 支持 |
| FLOAT(b) | b<=99 | DECIMAL(b0.301032,b*0.30103) | 支持 |
| FLOAT(b) | b>99 | DOUBLE | 支持 |
| DATE | - | DATETIME | 支持 |
| TIMESTAMP | - | TIMESTAMP | 支持 |
| TIMESTAMP WITH LOCAL TIME ZONE | - | TIMESTAMP | 支持 |
| TIMESTAMP WITH TIME ZONE | - | TIMESTAMP | 支持 |
| INTERVAL | 增量 | VARCHAR(30) | 不支持 |
| INTERVAL | 全量,精度支持6位。 | VARCHAR(30) | 支持 |
| BLOB | - | LONGBLOB | 支持 |
| CLOB | - | LONGTEXT | 支持 |
| NCLOB | - | LONGTEXT | 支持 |
| LONG | - | LONGTEXT | 支持 |
| LONG_RAW | - | LONGBLOB | 支持 |
| RAW | - | VARBINARY | 支持 |
| ROWID | - | VARCHAR(18) | 支持 |
Oracle-?>PostgreSQL
介紹Oracle->PostgreSQL社區版的數據映射關系。
表數據類型映射關系
| 數據類型(Oracle) | 數據類型(PostgreSQL社區版) | 是否支持映射 |
|---|---|---|
| CHAR | CHAR | 支持 |
| VARCHAR | VARCHAR | 支持 |
| VARCHAR2 | VARCHAR | 支持 |
| NCHAR | NCHAR | 支持 |
| NVARCHAR2 | NVARCHAR | 支持 |
| NUMBER | NUMBER | 支持 |
| BINARY_FLOAT | FLOAT | 支持 |
| BINARY_DOUBLE | DOUBLE | 支持 |
| FLOAT | FLOAT | 支持 |
| DATE | TIMESTAMP | 支持 |
| TIMESTAMP | TIMESTAMP | 支持 |
| TIMESTAMP WITH TIME ZONE | TIMESTAMPTZ | 支持 |
| TIMESTAMP WITH LOCAL TIME ZONE | TIMESTAMPTZ | 支持 |
| INTERVAL | INTERVAL | 支持 |
| BLOB | BYTEA | 支持 |
| CLOB | CLOB | 支持 |
| NCLOB | TEXT | 支持 |
| LONG | TEXT | 支持 |
| LONG_RAW | BYTEA | 支持 |
| RAW(非主鍵列和非唯一鍵列) | BYTEA | 支持 |
| RAW(主鍵列和唯一鍵列) | VARCHAR | 支持 |
| ROWID | CHAR | 支持 |
| UROWID | - | 不支持 |
| XMLTYPE | - | 不支持 |
| BFILE | - | 不支持 |
| SDO_GEOMETRY | - | 不支持 |
Oracle->PostgreSQL增強版數據映射關系
表數據類型映射關系
| 數據類型(Oracle) | 數據類型(PostgreSQL增強版) | 是否支持映射 |
|---|---|---|
| CHAR | CHAR | 支持 |
| VARCHAR | VARCHAR | 支持 |
| VARCHAR2 | VARCHAR2 | 支持 |
| NCHAR | NCHAR | 支持 |
| NVARCHAR2 | NVARCHAR2 | 支持 |
| NUMBER | NUMBER | 支持 |
| BINARY_FLOAT | BINARY_FLOAT | 支持 |
| BINARY_DOUBLE | BINARY_DOUBLE | 支持 |
| FLOAT | FLOAT | 支持 |
| DATE | TIMESTAMP | 支持 |
| TIMESTAMP | TIMESTAMP | 支持 |
| TIMESTAMP WITH TIME ZONE | TIMESTAMPTZ | 支持 |
| TIMESTAMP WITH LOCAL TIME ZONE | TIMESTAMPTZ | 支持 |
| INTERVAL | INTERVAL | 支持 |
| BLOB | BYTEA | 支持 |
| CLOB | CLOB | 支持 |
| NCLOB | TEXT | 支持 |
| LONG | TEXT | 支持 |
| LONG_RAW | BYTEA | 支持 |
| RAW(非主鍵列和非唯一鍵列) | BYTEA | 支持 |
| RAW(主鍵列和唯一鍵列) | VARCHAR | 支持 |
| ROWID | CHAR | 支持 |
| UROWID | - | 不支持 |
| XMLTYPE | - | 不支持 |
| BFILE | - | 不支持 |
| SDO_GEOMETRY | - | 不支持 |
MySQL->DWS
介紹MySQL->DWS的數據映射關系。
數據類型映射關系
| 數據類型(MySQL) | 數據類型(DWS) | 是否支持映射 |
|---|---|---|
| BIT[(M)] | BIT | 支持 |
| TINYINT[(M)] | SMALLINT | 支持 |
| TINYINT[(M)] [UNSIGNED] | SMALLINT | 支持 |
| SMALLINT[(M)] | SMALLINT | 支持 |
| SMALLINT[(M)] [UNSIGNED] | INTEGER | 支持 |
| MEDIUMINT[(M)] | INTEGER | 支持 |
| MEDIUMINT[(M)][UNSIGNED] | INTEGER | 支持 |
| INT[(M)] | INTEGER | 支持 |
| INT[(M)] [UNSIGNED] | BIGINT | 支持 |
| BIGINT[(M)] | BIGINT | 支持 |
| BIGINT[(M)] [UNSIGNED] | NUMERIC | 支持 |
| DECIMAL[(M[,D])] | SMALLINT | INTEGER |
| FLOAT(p) | FLOAT4 | 支持 |
| DOUBLE[(M,D)] | FLOAT8 | 支持 |
| DATE | DATE | 支持,舊版本創建出來為TIMESTAMP(0) WITHOUT TIME ZONE。 |
| DATETIME[(fsp)] | TIMESTAMP | 支持 |
| TIMESTAMP[(fsp)] | TIMESTAMP WITH TIME ZONE | 支持 |
| TIME[(fsp)] | TIME | 支持 |
| YEAR[(4)] | SMALLINT | 支持 |
| CHAR[(M)] | CHAR | 支持 |
| VARCHAR(M) | CHARACTER VARYING() | 支持,根據源庫列字符集,在目標庫擴大相應倍數。 |
| BINARY[(M)] | BYTEA | 支持 |
| VARBINARY(M) | BYTEA | 支持 |
| TINYBLOB | BLOB | 支持 |
| TINYTEXT | TEXT | 支持 |
| BLOB | BLOB | 支持 |
| TEXT | TEXT | 支持 |
| MEDIUMBLOB | BLOB | 支持 |
| MEDIUMTEXT | TEXT | 支持 |
| LONGBLOB | BLOB | 支持 |
| LONGTEXT | TEXT | 支持 |
| ENUM | VARCHAR | 支持 |
| SET | VARCHAR | 支持 |
| JSON | JSONB | 支持 |

DATE類型,MySQL的支持的范圍是:'1000-01-01' to '9999-12-31'。
- DATETIME類型,MySQL的支持的范圍是:'1000-01-01 00:00:00' to '9999-12-31 23:59:59'。
- TIMESTAMP類型,MySQL的支持的范圍是:'1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC。
- 可參考MySQL的官方文檔。
- 對于DWS而言,0000年,00月,00日是非法時間,DRS會轉換成1970-01-01,比如MySQL的DATE類型的'0000-00-00'通過DRS會轉換成'1970-01-01';比如MySQL的DATETIME類型或TIMESTAMP類型的'1000-00-31 23:59:59',通過DRS會轉換成'1970-01-01 00:00:00'。
TIME類型,MySQL的支持的范圍是:'-838:59:59' to '838:59:59',可參考MySQL的官方文檔。而DWS的TIME類型的最小值:00:00:00,最大值:24:00:00。對于MySQL中小于00:00:00,或大于24:00:00的TIME類型的值,DRS會轉化成 00:00:00。
YEAR類型,MySQL的支持的范圍是:1901 to 2155, 和 0000,可參考MySQL的官方文檔。由于DWS中沒有對應的類型,DRS會將MySQL的YEAR類型映射成SMALLINT類型。
對于MySQL的DATE類型的'0000'通過DRS會轉換成0。
Oracle-?>DWS
介紹Oracle ->DWS的數據映射關系。
數據類型映射關系
| 數據類型(Oracle) | 數據類型(DWS) | 是否支持映射 |
|---|---|---|
| CHAR | CHAR | 支持 |
| VARCHAR | VARCHAR | 支持 |
| VARCHAR2 | VARCHAR | 支持 |
| NCHAR | NCHAR | 支持 |
| NVARCHAR2 | NVARCHAR | 支持 |
| NUMBER | NUMBER | 支持 |
| BINARY_FLOAT | FLOAT | 支持 |
| BINARY_DOUBLE | DOUBLE | 支持 |
| FLOAT | FLOAT | 支持 |
| DATE | TIMESTAMP | 支持 |
| TIMESTAMP | TIMESTAMP | 支持 |
| TIMESTAMP WITH TIME ZONE | TIMESTAMPTZ | 支持 |
| TIMESTAMP WITH LOCAL TIME ZONE | TIMESTAMPTZ | 支持 |
| INTERVAL | INTERVAL | 支持 |
| BLOB | BYTEA | 支持 |
| CLOB | CLOB | 支持 |
| NCLOB | TEXT | 支持 |
| LONG | TEXT | 支持 |
| LONG_RAW | BYTEA | 支持 |
| RAW(非主鍵列和非唯一鍵列) | BYTEA | 支持 |
| RAW(主鍵列和唯一鍵列) | VARCHAR | 支持 |
| ROWID | CHAR | 支持 |
| UROWID | - | 不支持 |
| XMLTYPE | - | 不支持 |
| BFILE | - | 不支持 |
| SDO_GEOMETRY | - | 不支持 |