As you'll see in this section, Oracle supports a rich variety of datatypes, including most of the SQL3 datatypes and some special datatypes. The special datatypes, however, often require optional components to be installed. For example, Oracle supports spatial datatypes, but only if you have installed the Oracle Spatial add-on. The Oracle Spatial datatypes, including SDO_GEOMETRY, SDO_TOPO_GEOMETRY, and SDO_GEORASTER, are beyond the scope of this book. Refer to the Oracle Spatial documentation for further details on these types.
Oracle Multimedia datatypes use object types, similar to Java or C++ classes for multimedia data. Oracle Multimedia datatypes include ORDAudio, ORDImage, ORDVideo, ORDDoc, ORDDicom, SI_Stillimage, SI_Color, SI_AverageColor, SI_ColorHistogram, SI_PositionalColor, SI_Texture, SI_FeatureList, and ORDImageSignature.
Oracle also supports "Any Types" datatypes. These highly flexible datatypes are intended for use as procedure parameters and as table columns where the actual type is unknown. The Any Type datatypes are ANYTYPE, ANYDATA, and ANYDATASET.
A complete listing of the Oracle datatypes follows:
Holds a pointer to a BLOB stored outside the database, but present on the local server, of up to 4 GB in size. The database streams input (but not output) access to the external BLOB. If you delete a row containing a BFILE value, only the pointer value is deleted; the actual file structure is not deleted.