Numeric data types
Db2 supports several types of numeric data types, each of which has its own characteristics.
For numeric data, use numeric columns rather than string columns. Numeric columns require less space than string columns, and Db2 verifies that the data has the assigned type.
For example, assume that Db2 calculates a range between two numbers. If the values have a string data type, Db2 assumes that the values can include all combinations of alphanumeric characters. In contrast, if the values have a numeric data type, Db2 can calculate a range between the two values more efficiently.
The following table describes the numeric data types.
Data type  Denotes a column of... 

SMALLINT  Small integers. A small integer is binary integer with a precision of 15 bits. The range is 32768 to +32767. 
INTEGER or
INT 
Large integers. A large integer is binary integer with a precision of 31 bits. The range is 2147483648 to +2147483647. 
BIGINT  Big integers. A big integer is a binary integer with a precision of 63 bits. The range of big integers is 9223372036854775808 to +9223372036854775807. 
DECIMAL or
NUMERIC 
A decimal number
is a packed decimal number with an implicit decimal point. The position
of the decimal point is determined by the precision and the scale
of the number. The scale, which is the number of digits in the fractional
part of the number, cannot be negative or greater than the precision.
The maximum precision is 31 digits. All values of a decimal column have the same precision and scale. The range of a decimal variable or the numbers in a decimal column is n to +n, where n is the largest positive number that can be represented with the applicable precision and scale. The maximum range is 1  10³¹ to 10³¹  1. 
DECFLOAT  A decimal floatingpoint value is
an IEEE 754r number with a decimal point. The position of the decimal
point is stored in each decimal floatingpoint value. The maximum
precision is 34 digits. The range of a decimal floatingpoint number is either 16 or 34 digits of precision; the exponent range is respectively 10383 to 10+384 or 106143 to 10+6144. 
REAL  A singleprecision floatingpoint number is a short floatingpoint number of 32 bits. The range of singleprecision floatingpoint numbers is approximately 7.2E+75 to 7.2E+75. In this range, the largest negative value is about 5.4E79, and the smallest positive value is about 5.4E079. 
DOUBLE  A doubleprecision floatingpoint number is a long floatingpoint number of 64bits. The range of doubleprecision floatingpoint numbers is approximately 7.2E+75 to 7.2E+75. In this range, the largest negative value is about 5.4E79, and the smallest positive value is about 5.4E79. 
Note:
IBM zSystems and z/Architecture® use the System/390® format and support IEEE floatingpoint format.

For integer values, use SMALLINT, INTEGER, or BIGINT (depending on the range of the values). Do not use DECIMAL for integer values.
You can define an exact numeric column as an identity column. An identity column has an attribute that enables Db2 to automatically generate a unique numeric value for each row that is inserted into the table. Identity columns are ideally suited to the task of generating unique primarykey values. Applications that use identity columns might be able to avoid concurrency and performance problems that sometimes occur when applications implement their own unique counters.