# DOUBLE PRECISION

The DOUBLE PRECISION data type provides 8-byte storage for numbers using IEEE floating-point notation.

#### Syntax

    DOUBLE PRECISION

or, alternately

    DOUBLE

DOUBLE can be used synonymously with DOUBLE PRECISION.

#### Limitations

DOUBLE value ranges:

- Smallest DOUBLE value: -1.79769E+308
- Largest DOUBLE value: 1.79769E+308
- Smallest positive DOUBLE value: 2.225E-307
- Largest negative DOUBLE value: -2.225E-307

These limits are different from the `java.lang.Double`Java type limits.

An exception is thrown when any double value is calculated or entered that is outside of these value ranges. Arithmetic operations do not round their resulting values to zero. If the values are too small, you will receive an exception.

Numeric floating point constants are limited to a length of 30 characters.

    -- this example will fail because the constant is too long:
    values 01234567890123456789012345678901e0;

#### Corresponding compile-time Java type

java.lang.Double

#### JDBC metadata type (java.sql.Types)

DOUBLE

When mixed with other data types in expressions, the resulting data type follows the rules shown in Numeric type promotion in expressions.

See also Storing values of one numeric data type in columns of another numeric data type.

#### Examples

    3421E+09
    425.43E9
    9E-10
    4356267544.32333E+30

Parent topic: Data types
Related concepts
Built-In type overview
Numeric types
Related reference
Data type assignments and comparison, sorting, and ordering
BIGINT
BLOB
CHAR
CHAR FOR BIT DATA
CLOB
DATE
DECIMAL
DOUBLE
FLOAT
INTEGER
LONG VARCHAR
LONG VARCHAR FOR BIT DATA
NUMERIC
REAL
SMALLINT
TIME
TIMESTAMP
VARCHAR
VARCHAR FOR BIT DATA
XML data type