DB2 Version 9.7 for Linux, UNIX, and Windows

DOUBLE_PRECISION or DOUBLE scalar function

Numeric to double:

Read syntax diagramSkip visual syntax diagram
>>-+-DOUBLE_PRECISION-+--(--numeric-expression--)--------------><
   '-DOUBLE-----------'                             

Character string to double:

Read syntax diagramSkip visual syntax diagram
>>-+-DOUBLE_PRECISION-+--(--string-expression--)---------------><
   '-DOUBLE-----------'                            

The schema is SYSIBM.

The DOUBLE_PRECISION and DOUBLE functions return a double-precision floating-point representation of either:
  • A number
  • A string representation of a number
Numeric to double
numeric-expression
An expression that returns a value of any built-in numeric data type.

The result is the same number that would occur if the argument were assigned to a double-precision floating-point column or variable. If the numeric value of the argument is not within the range of double-precision floating-point, an error is returned (SQLSTATE 22003).

Character string to double
string-expression
An expression that returns a value that is character-string or Unicode graphic-string representation of a number. The data type of string-expression must not be CLOB (SQLSTATE 42884).

The result is the same number that would result from CAST(string-expression AS DOUBLE PRECISION). Leading and trailing blanks are eliminated and the resulting string must conform to the rules for forming a valid numeric constant (SQLSTATE 22018). If the numeric value of the argument is not within the range of double-precision floating-point, an error is returned (SQLSTATE 22003).

The result of the function is a double-precision floating-point number. If the argument can be null, the result can be null; if the argument is null, the result is the null value.

Notes:
  • The CAST specification should be used to increase the portability of applications. For more information, see "CAST specification".
  • FLOAT is a synonym for DOUBLE_PRECISION and DOUBLE.
  • The SYSFUN version of DOUBLE (string_expression) continues to be available.

Example:

Using the EMPLOYEE table, find the ratio of salary to commission for employees whose commission is not zero. The columns involved (SALARY and COMM) have DECIMAL data types. To eliminate the possibility of out-of-range results, DOUBLE is applied to SALARY so that the division is carried out in floating point:
   SELECT EMPNO, DOUBLE(SALARY)/COMM
     FROM EMPLOYEE
     WHERE COMM > 0