Numeric Datatypes in Oracle are mostly subtypes of the NUMBER datatype.
uml inheritance diagram: oracle numeric datatypes
Oracle SQL datatypes:
NUMBER
Number having precision (n) and scale (m).
The precision can range from 1 to 38.
The scale can range from -84 to 127.
(Festkommazahl mit n Stellen, davon m nach dem Komma.)
DOUBLE
ANSI standard datatype (IEEE 754 standard format).
Alias for the NUMBER datatype, with extra restrictions: FLOAT datatypes have to restrict the number of significant digits to fit in integer values.
FLOAT
ANSI standard datatype (IEEE 754 standard format).
Alias for the NUMBER datatype, with extra restrictions: FLOAT datatypes have to restrict the number of significant digits to fit in integer values.
(Gleitkommazahlen. Speichert eine Gleitkommazahl doppelter Genauigkeit, ähnlich dem Typ DOUBLE in der Programmiersprache C)
INTEGER
ANSI standard datatype (IEEE 754 standard format).
Alias for the NUMBER datatype, with extra restrictions: INTEGER datatypes don’t allow decimal.
(Der Typ INTEGER enthält eine ganze Zahl. Maximale Grösse: entspricht NUMBER(38) in Oracle)
INT, SMALLINT
Synonyms for Integer
PL_SQL Datatypes:
PLS_INTEGER
Signed Integers. PLS_INTEGER values require less storage and provide better performance than NUMBER values.
So in PL_SQL use the PLS_INTEGER datatype whereever you can!
When retrieving data for a NUMBER column, consider (if you can) using the PL/SQL datatype: PLS_INTEGER for better performance.
Magnitude range is -2147483647 .. 2147483647
BINARY_INTEGER
Signed Integers (older slower version of PLS_INTEGER).
==> Please use PLS_INTEGER !
… for an overview please see the uml inheritance diagram at the top of this page …