# Numeric Data Types

Numeric data types are used to store numeric information.

Each numeric type below has a maximum value and minimum value.A numeric overflow exception is thrown if a value is smaller than the minimum value or greater than the maximum value

**INTEGER**

The INTEGER data type stores a 32-bit signed integer. The minimum value is -2,147,483,648 and the maximum value is 2,147,483,647.

**BIGINT**

The BIGINT data type stores a 64-bit signed integer. The minimum value is -9,223,372,036,854,775,808 and the maximum value is 9,223,372,036,854,775,807.

**TINYINT**

The TINYINT data type stores an 8-bit unsigned integer. The minimum value is 0 and the maximum value is 255.

**SMALLINT**

The SMALLINT data type stores a 16-bit signed integer. The minimum value is -32,768 and the maximum value is 32,767.

**REAL**

The REAL data type specifies a single-precision, 32-bit floating-point number.

**DOUBLE**

The DOUBLE data type specifies a double-precision, 64-bit floating-point number. The minimum value is -1.7976931348623157E308 and the maximum value is 1.7976931348623157E308 .

**FLOAT**

The FLOAT(`<n>`) data type specifies a 32-bit or 64-bit real number, where `<n>` specifies the number of significant bits and can range between 1 and 53.

If you use the FLOAT(`<n>`) data type, and `<n>` is smaller than 25, then the 32-bit REAL data type is used instead. If `<n>` is greater than or equal to 25, or if `<n>` is not declared, then the 64-bit DOUBLE data type is used.

**DECIMAL**

DECIMAL(`<precision>`, `<scale>`) is the SQL standard notation for fixed-point decimals. `<p>` specifies precision, or the number of total digits (the sum of whole digits and fractional digits). `<s>` denotes scale, or the number of fractional digits. If a column is defined as DECIMAL(5, 4) for example, the numbers 3.14, 3.1415, 3.141592 are stored in the column as 3.1400, 3.1415, 3.1415, retaining the specified precision(5) and scale(4).