Oracle Cache Mapping
This section discusses the data type mappings and restrictions for caches stored on Oracle.
Oracle changes any empty string stored in a VARCHAR2 or NVARCHAR2 column to NULL. This can alter empty string data stored in such columns.
FLOAT columns have a maximum of 126 digits, equivalent to a floating-point number with exponent E125. TDV FLOAT values have a maximum of E38 and DOUBLE values have a maximum of E308. This is why VARCHAR is used to store TDV DOUBLE values by default. However, you can use the FLOAT type if your values fit within that range.
|
Data Type |
Preferred Data Type |
Other Allowed Native Types |
|
BIGINT |
NUMBER(19, 0) |
NUMBER(19+, 0), VARCHAR(20+), NVARCHAR(20+) |
|
BINARY(n) |
RAW(n); |
RAW(n+), BLOB |
|
BIT |
NUMBER(1, 0) |
NUMBER(1+, 0) |
|
BLOB |
BLOB |
|
|
BOOLEAN |
NUMBER(1,0) |
NUMBER(1+,0) |
|
CHAR(n) |
CHAR(n); |
CHAR(n+), VARCHAR2(n+), NVARCHAR2(n+), CLOB |
|
CLOB |
CLOB |
|
|
DATE |
VARCHAR2(10) |
VARCHAR2(10+), NVARCHAR2(10+) |
|
DECIMAL(p,s) |
NUMBER(p,s); |
NUMBER(p+,s+), VARCHAR2(p+ 3+), NVARCHAR2(p+3+), CLOB |
|
DOUBLE |
VARCHAR(24) |
VARCHAR(24+), FLOAT, BINARY DOUBLE |
|
FLOAT |
FLOAT |
VARCHAR(24+), FLOAT, BINARY FLOAT, BINARY DOUBLE |
|
INTEGER |
NUMBER(10, 0) |
NUMBER(10+, 0), VARCHAR(20+), NVARCHAR(20+) |
|
NUMERIC(p,s) |
NUMBER(p,s); |
NUMBER(p+,s+), VARCHAR2(p+ 3+), NVARCHAR2(p+3+), CLOB |
|
OTHER |
[cannot be cached] |
|
|
SMALLINT |
NUMBER(5, 0) |
NUMBER(5+, 0), VARCHAR(20+), NVARCHAR(20+) |
|
TIME |
VARCHAR2(15) |
VARCHAR2(15+), NVARCHAR2(15+) |
|
TIMESTAMP |
TIMESTAMP(9) |
|
|
TINYINT |
NUMBER(3, 0) |
NUMBER(3+, 0), VARCHAR(20+), NVARCHAR(20+) |
|
VARBINARY(n) |
RAW(n); |
RAW(n+), BLOB |
|
VARCHAR(n) |
VARCHAR(n); |
VARCHAR2(n+), NVARCHAR2(n+), CLOB |
|
XML |
CLOB |
VARCHAR(*), NVARCHAR2(*) [Truncates data if column is too small] |