>>-+-DOUBLE_PRECISION-+--(--numeric-expression--)--------------><
'-DOUBLE-----------'
Character string to double:
>>-+-DOUBLE_PRECISION-+--(--string-expression--)---------------><
'-DOUBLE-----------'
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