Data Types for Oracle

The following table lists the data type support for an Oracle database.
For data source specific information about Oracle data types, see the Oracle database documentation.
Data Types for Oracle
Data Type Definition Keyword1
Oracle Data Type
Description
Data Type Returned
BIGINT
NUMBER
Large signed, exact whole number.
BIGINT
BINARY(n)
RAW(n)
Fixed or varying length binary string.
BINARY(n)
CHAR(n)
CHAR(n)
Fixed-length character string.
CHAR(n)
DATE
DATE
Date values.
TIMESTAMP(p)3
DECIMAL|NUMERIC(p,s)
NUMBER(p,s)
Signed, fixed-point decimal number.
DOUBLE4
DOUBLE
BINARY_DOUBLE
Signed, double precision floating-point number.
DOUBLE
FLOAT(p)
FLOAT(p)
Signed, double precision floating-point number.
DOUBLE
INTEGER
NUMBER
Regular signed, exact whole number.
INTEGER
LONG
Varying-length character string data.
NCHAR(n)
NCHAR(n)
Fixed-length Unicode character string.
NCHAR(n)
NVARCHAR(n)
NVARCHAR(n)
Varying-length Unicode character string.
NVARCHAR(n)
REAL
FLOAT
Signed, single precision floating-point number.
REAL
SMALLINT
NUMBER
Small signed, exact whole number.
SMALLINT
TIME(p)
TIME(p)
Time value.
TIMESTAMP(p)3
TIMESTAMP(p)5
TIMESTAMP(p)
Date and time value.
TIMESTAMP(p)
TINYINT
NUMBER
Very small signed, exact whole number.
TINYINT
VARBINARY(n)
LONG RAW(n)
Varying-length binary string.
VARBINARY(n)
VARCHAR(n)
VARCHAR2(n)6
Varying-length character string.
VARCHAR(n)
1The CT_PRESERVE= connection argument, which controls how data types are mapped, can affect whether a data type can be defined. The values FORCE (default) and FORCE_COL_SIZE do not affect whether a data type can be defined. The values STRICT and SAFE can result in an error if the requested data type is not native to the data source, or the specified precision or scale is not within the data source range.
2The Oracle data type cannot be defined, and when data is retrieved, the native data type is mapped to a similar data type.
3The timestamp returned by the DATE and TIME data types can be changed to date and time values by using the DATEPART function with the PUT function.
4The ORNUMERIC= connection argument and table option determine how numbers read from or inserted into the Oracle NUMBER column are treated. ORNUMERIC=YES, which is the default, indicates that non-integer values with explicit precision are treated as NUMERIC values.
5The TIMESTAMP(p) data type is not available on Z/OS.
6The VARCHAR2(n) type is supported for up to 32,767 bytes if the Oracle version is 12c and the Oracle MAX_STRING_SIZE= parameter is set to EXTENDED.
Last updated: February 23, 2017