Data Types
The following is a list of datatypes available in Oracle/PLSQL, which includes character, numeric, date/time, LOB and rowid datatypes.
Character Datatypes
The following are the Character Datatypes in Oracle/PLSQL:
Data Type Syntax |
Oracle 9i |
Oracle 10g |
Oracle 11g |
Explanation |
char(size) |
Maximum size of 2000 bytes. |
Maximum size of 2000 bytes. |
Maximum size of 2000 bytes. |
Where size is the number of characters to store. Fixed-length strings. Space padded. |
nchar(size) |
Maximum size of 2000 bytes. |
Maximum size of 2000 bytes. |
Maximum size of 2000 bytes. |
Where size is the number of characters to store. Fixed-length NLS string Space padded. |
nvarchar2(size) |
Maximum size of 4000 bytes. |
Maximum size of 4000 bytes. |
Maximum size of 4000 bytes. |
Where size is the number of characters to store. Variable-length NLS string. |
varchar2(size) |
Maximum size of 4000 bytes. Maximum size of 32KB in PLSQL. |
Maximum size of 4000 bytes. Maximum size of 32KB in PLSQL. |
Maximum size of 4000 bytes. Maximum size of 32KB in PLSQL. |
Where size is the number of characters to store. Variable-length string. |
long |
Maximum size of 2GB. |
Maximum size of 2GB. |
Maximum size of 2GB. |
Variable-length strings. (backward compatible) |
raw |
Maximum size of 2000 bytes. |
Maximum size of 2000 bytes. |
Maximum size of 2000 bytes. |
Variable-length binary strings |
long raw |
Maximum size of 2GB. |
Maximum size of 2GB. |
Maximum size of 2GB. |
Variable-length binary strings. (backward compatible) |
Numeric Datatypes
The following are the Numeric Datatypes in Oracle/PLSQL:
Data Type Syntax |
Oracle 9i |
Oracle 10g |
Oracle 11g |
Explanation |
number(p,s) |
Precision can range from 1 to 38. |
Precision can range from 1 to 38. |
Precision can range from 1 to 38. |
Where p is the precision and s is the scale. For example, number(7,2) is a number that has 5 digits before the decimal and 2 digits after the decimal. |
numeric(p,s) |
Precision can range from 1 to 38. |
Precision can range from 1 to 38. |
Precision can range from 1 to 38. |
Where p is the precision and s is the scale. For example, numeric(7,2) is a number that has 5 digits before the decimal and 2 digits after the decimal. |
float |
|
|
|
|
dec(p,s) |
Precision can range from 1 to 38. |
Precision can range from 1 to 38. |
Precision can range from 1 to 38. |
Where p is the precision and s is the scale. For example, dec(3,1) is a number that has 2 digits before the decimal and 1 digit after the decimal. |
decimal(p,s) |
Precision can range from 1 to 38. |
Precision can range from 1 to 38. |
Precision can range from 1 to 38. |
Where p is the precision and s is the scale. For example, decimal(3,1) is a number that has 2 digits before the decimal and 1 digit after the decimal. |
integer |
|
|
|
|
int |
|
|
|
|
smallint |
|
|
|
|
real |
|
|
|
|
double precision |
|
|
|
|
Date/Time Datatypes
The following are the Date/Time Datatypes in Oracle/PLSQL:
Data Type Syntax |
Oracle 9i |
Oracle 10g |
Oracle 11g |
Explanation |
date |
A date between Jan 1, 4712 BC and Dec 31, 9999 AD. |
A date between Jan 1, 4712 BC and Dec 31, 9999 AD. |
A date between Jan 1, 4712 BC and Dec 31, 9999 AD. |
|
timestamp (fractional seconds precision) |
fractional seconds precision must be a number between 0 and 9. (default is 6) |
fractional seconds precision must be a number between 0 and 9. (default is 6) |
fractional seconds precision must be a number between 0 and 9. (default is 6) |
Includes year, month, day, hour, minute, and seconds. For example: |
timestamp (fractional seconds precision) with time zone |
fractional seconds precision must be a number between 0 and 9. (default is 6) |
fractional seconds precision must be a number between 0 and 9. (default is 6) |
fractional seconds precision must be a number between 0 and 9. (default is 6) |
Includes year, month, day, hour, minute, and seconds; with a time zone displacement value. For example: |
timestamp (fractional seconds precision) with local time zone |
fractional seconds precision must be a number between 0 and 9. (default is 6) |
fractional seconds precision must be a number between 0 and 9. (default is 6) |
fractional seconds precision must be a number between 0 and 9. (default is 6) |
Includes year, month, day, hour, minute, and seconds; with a time zone expressed as the session time zone. For example: |
interval year |
year precision is the number of digits in the year. (default is 2) |
year precision is the number of digits in the year. (default is 2) |
year precision is the number of digits in the year. (default is 2) |
Time period stored in years and months. For example: |
interval day |
day precision must be a number between 0 and 9. (default is 2) fractional seconds precision must be a number between 0 and 9. (default is 6) |
day precision must be a number between 0 and 9. (default is 2) fractional seconds precision must be a number between 0 and 9. (default is 6) |
day precision must be a number between 0 and 9. (default is 2) fractional seconds precision must be a number between 0 and 9. (default is 6) |
Time period stored in days, hours, minutes, and seconds. For example: |
Large Object (LOB) Datatypes
The following are the LOB Datatypes in Oracle/PLSQL:
Data Type Syntax |
Oracle 9i |
Oracle 10g |
Oracle 11g |
Explanation |
bfile |
Maximum file size of 4GB. |
Maximum file size of 232-1 bytes. |
Maximum file size of 264-1 bytes. |
File locators that point to a binary file on the server file system (outside the database). |
blob |
Store up to 4GB of binary data. |
Store up to (4 gigabytes -1) * (the value of the CHUNK parameter of LOB storage). |
Store up to (4 gigabytes -1) * (the value of the CHUNK parameter of LOB storage). |
Stores unstructured binary large objects. |
clob |
Store up to 4GB of character data. |
Store up to (4 gigabytes -1) * (the value of the CHUNK parameter of LOB storage) of character data. |
Store up to (4 gigabytes -1) * (the value of the CHUNK parameter of LOB storage) of character data. |
Stores single-byte and multi-byte character data. |
nclob |
Store up to 4GB of character text data. |
Store up to (4 gigabytes -1) * (the value of the CHUNK parameter of LOB storage) of character text data. |
Store up to (4 gigabytes -1) * (the value of the CHUNK parameter of LOB storage) of character text data. |
Stores unicode data. |
Rowid Datatypes
The following are the Rowid Datatypes in Oracle/PLSQL:
Data Type Syntax |
Oracle 9i |
Oracle 10g |
Oracle 11g |
Explanation |
rowid |
The format of the rowid is: BBBBBBB.RRRR.FFFFF Where BBBBBBB is the block in the database file; |
The format of the rowid is: BBBBBBB.RRRR.FFFFF Where BBBBBBB is the block in the database file; |
The format of the rowid is: BBBBBBB.RRRR.FFFFF Where BBBBBBB is the block in the database file; |
Fixed-length binary data. Every record in the database has a physical address or rowid. |
urowid(size) |
|
|
|
Universal rowid. Where size is optional. |