全部產品
Search
文件中心

ApsaraDB for OceanBase:資料類型轉換

更新時間:Jul 01, 2024

本文為您介紹遷移 Oracle 資料庫的資料至 OceanBase 資料庫 Oracle 租戶的資料類型轉換。

支援的轉換類型

Oracle 資料庫

OceanBase 資料庫 Oracle 租戶

描述

INTEGER

NUMBER(38,0)

INT

NUMBER(38,0)

SMALLINT

NUMBER(38,0)

BINARY_FLOAT

BINARY_FLOAT

二進位精度浮點數,是一種 32 位單精確度浮點數資料類型。Oracle 資料庫和 OceanBase 資料庫 Oracle 租戶一致。

BINARY_DOUBLE

BINARY_DOUBLE

二進位精度浮點數,是一種 64 位元雙精確度浮點數資料類型。Oracle 資料庫和 OceanBase 資料庫 Oracle 租戶一致。

DECIMAL(p,s)

NUMBER(p,s)

DEC(p,s)

NUMBER(p,s)

NUMERIC(p,s)

NUMBER(p,s)

REAL(p,s)

NUMBER(p,s)

FLOAT (p)

FLOAT (p)

NUMBER 資料類型的子類型。二進位精度範圍為 [1,126]。FLOAT 不是浮點數。

Oracle 資料庫和 OceanBase 資料庫 Oracle 租戶一致。

NUMBER[(p,s)]

NUMBER(p,s)

OceanBase 資料庫 Oracle 租戶:儲存變長、十進位精度的定點數。也可以儲存浮點數,此時 NUMBER 沒有 p 和 s 參數。

Oracle 資料庫:p 的取值範圍為 1 ~ 38,s 的取值範圍為 -84 ~ 127。

NCHAR(size)

NCHAR(size)

參數 size 的取值範圍為 [1,2000],預設值和最小值為 1。儲存大小為 size 位元組的兩倍。

CHAR (size [BYTE | CHAR])

CHAR (size [BYTE | CHAR])

參數 size 的取值範圍為 [1,2000],預設值和最小值為 1。儲存大小為 size 個位元組或字元。

CHARACTER(n)

CHAR(n)

NVARCHAR2(size)

NVARCHAR2(size)

參數 size 的取值範圍為 [1,32767]。位元組的儲存大小是所輸入字元個數的兩倍。

VARCHAR2(size [BYTE | CHAR])

VARCHAR2(size [BYTE | CHAR])

參數 size 的取值範圍為 [1,32767]。儲存大小為輸入資料的位元組或字元的實際長度,而不是 size 個位元組或字元。

VARCHAR(size)

VARCHAR2(size)

RAW(size)

RAW(size)

OceanBase 資料庫 Oracle 租戶:以位元組為單位。如果作為資料庫中表的列,該參數最大支援儲存 2000 位元組的資料。如果作為 PL 變數,該參數最大支援儲存 32767 位元組的資料。

Oracle 資料庫:最大支援 2000 位元組

LONG

CLOB

OceanBase 資料庫 Oracle 租戶:48 MB

Oracle 資料庫:LONG 4GB -1

LONG RAW

BLOB

OceanBase 資料庫 Oracle 租戶:48 MB

Oracle 資料庫:

LONGRAW Size up to 2 gigabytes

ROWID

ROWID

表中一行的唯一地址(以 64 為基數的字串表示)。

UROWID

UROWID

索引組織表的行(以 64 為基數的字串表示)的邏輯地址。

TIMESTAMP (fractional_seconds_precision)

TIMESTAMP (fractional_seconds_precision)

OceanBase 資料庫 Oracle 租戶:範圍和精確度取決於 scale 的值,取值範圍為 [0,9]。最大值為 9(納秒,即秒數精確至小數點 9 位),最小值為 0(秒,即秒數精確至小數點 0 位),預設值為 6。

Oracle 資料庫:大小為 7 或 11 位元組,取決於精度。

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

OceanBase 資料庫 Oracle 租戶:閾值和精確度取決於 scale 的值,取值範圍為 [0,9]。最大值為 9 (納秒,即秒數精確至小數點 9 位),最小值為 0(秒,即秒數精確至小數點 0 位),預設值為 6。

Oracle 資料庫:大小固定為13位元組。

TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE

TIMESTAMP[(fractional_seconds_precision)] WITH LOCAL TIME ZONE

DATE

DATE

OceanBase 資料庫 Oracle 租戶:取值範圍為 0001-01-01 00:00:00~9999-12-31 23:59:59。

Oracle 資料庫:有效日期範圍:從公元前 4712 年 1 月 1 日到公元 9999 年 12 月 31 日。大小固定為 7 位元組。

INTERVAL YEAR [(year_precision)] TO MONTH

INTERVAL YEAR [(year_precision)] TO MONTH

5 bytes

INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)]

INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)]

11 bytes

BLOB

BLOB

CLOB

CLOB

NCLOB

CLOB

不支援的轉換類型

Oracle 資料庫

OceanBase 資料庫 Oracle 租戶

TIMESTAMP_UNCONSTRAINED

-

TIMESTAMP_TZ_UNCONSTRAINED

-

TIMESTAMP_LTZ_UNCONSTRAINED

-

YMINTERVAL_UNCONSTRAINED

-

DSINTERVAL_UNCONSTRAINED

-

YEAR

-

MONTH

-

DAY

-

HOUR

-

MINUTE

-

SECOND

-

TIMEZONE_HOUR

-

TIMEZONE_MINUTE

-

TIMEZONE_REGION

-

TIMEZONE_ABBR

-