The Oracle PL/SQL DOUBLE PRECISION data type is used to store numeric values with double precision. It is a floating-point data type that can store a large range of values, including both positive and negative values, with high precision.

The DOUBLE PRECISION data type is a synonym for the NUMBER data type with a precision of 126 binary digits or 38 decimal digits. This means that it can store very large numbers with high accuracy, making it suitable for scientific and engineering applications.


To declare a variable as a DOUBLE PRECISION data type, you can use the following syntax:

  -- code here

You can also use the DOUBLE PRECISION data type as a column data type in tables:

CREATE TABLE my_table (
  id NUMBER,

The DOUBLE PRECISION data type supports all arithmetic operations, including addition, subtraction, multiplication, and division. It also supports comparison operators, such as greater than (>), less than (<), equal to (=), and not equal to (<>).

When using the DOUBLE PRECISION data type, it is important to be aware of its limitations. Due to the nature of floating-point arithmetic, it may not always produce exact results. For example, adding 0.1 and 0.2 may result in a value that is slightly different from 0.3 due to rounding errors. Therefore, it is important to use appropriate rounding functions or data types, such as the DECIMAL data type, when precision is critical.

In summary, the DOUBLE PRECISION data type in Oracle PL/SQL is a powerful and flexible data type that can store large numeric values with high precision. It is commonly used in scientific and engineering applications where precision is essential. However, it is important to be aware of its limitations and to use appropriate data types and functions when precision is critical.