Exact numeric data types

Exact numeric data types are used to represent the exact value of a number. This is the syntax for exact numeric data types:

Syntax

TINYINT  | SMALLINT| INTEGER | BIGINT
         | NUMERIC | NUMBER [( precision[ , scale] )]
         | DECIMAL [ ( precision , scale ) ]

Parameters

TINYINT

Corresponds to an integer value in the range -128 to +127 inclusive.

SMALLINT

Corresponds to an integer value in the range of -32768 to 32767 inclusive.

INTEGER

Corresponds to an integer value in the range of -2147483648 to 2147483647 inclusive.

BIGINT

Corresponds to an integer value in the range of -9223372036854775808 to 9223372036854775807 inclusive.

NUMERIC | NUMBER [ ( precision[ , scale] ) ]

Corresponds to a number with the given precision (maximum number of digits) and scale (the number of digits to the right of the decimal point). By default, NUMERIC columns have a precision of 32 and a scale of 0. If NUMERIC columns omit the scale, the default scale is 0.

The range of values for a NUMERIC type column is -n to +n where n is the largest number that can be represented with the specified precision and scale. If a value exceeds the precision of a NUMERIC column, SQL generates an overflow error. If a value exceeds the scale of a NUMERIC column, SQL rounds the value.

NUMERIC type columns cannot specify a negative scale or specify a scale larger than the precision.

DECIMAL [ ( precision , scale ) ]

Equivalent to type NUMERIC.