<< Simple key | IBExpert Glossary | SMP (Symmetric Multi-Processing) >>

INTEGER, SMALL INTEGER and BIG INTEGER (Int, SmallInt and BigInt)

INTEGER data types are used to store whole numbers. SMALLINT is the abbreviation for small integer. BIGINT was added in Firebird 1.5 and is the SQL99-compliant 64-bit signed integer type. BIGINT is available in Dialect 3 only.

Values following the decimal point are not allowed. Depending upon the numeric area required, following INTEGER types are supported:

TypeSizeValue Range
SmallInt2 bytes-32,768 to +32,767
Integer4 bytes-2,147,483,648 to +2,147,483,647
BigInt64 bytes-263 to 263-1
or -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

4 bytes of data storage are required for the INTEGER value, whereby 31 bits are for the number and 1 bit for the sign. 2 bytes of data storage are required for the small integer value, whereby 15 bits are for the number and 1 bit for the sign. It is usually preferable to use an INTEGER data type as 2 bytes more or less are fairly irrelevant these days.

An INTEGER is a 15-digit number and although extremely large, is by far not as large as the NUMERIC(18). INTEGER types are particularly suited for unique identification numbers, as Firebird/InterBase contains mechanisms for the automatic generation of whole number values (please refer to generator for further information). The resulting indices for the connection of multiple tables to each other are relatively small and offer extremely quick access, as the highest computer performance on all computer platforms is generally found in INTEGER operations. It is possible to specify the display format of an INTEGER under Environment Options / Grid / Display Formats.

SMALLINTs can also be used for BOOLEAN data types e.g. true/false, male/female.

See also:
BIGINT
Table Editor
SQL Editor
Division of an integer by an integer
Data types and subtypes
Selecting the right data type to improve database performance
Firebird 2.5 Language Reference Update
Firebird 2.1 Language Reference Update
Firebird 2.0 Language Reference Update
SQL Language Reference

back to top of page
<< Simple key | IBExpert Glossary | SMP (Symmetric Multi-Processing) >>