In general, EQL performs type promotion when there is no risk of loss of information.
For example, in the expression 1 + 3.5, 1 is an integer and 3.5 is a double. The integer value is promoted to a double, and the overall result is 4.5.
Some functions, such as LN(), take double arguments, and automatically promote integer arguments to doubles. In most other cases, automatic type promotion is not performed, and an explicit conversion is required. For example, if Quantity is an integer and SingleOrder is a Boolean, then an expression such as the following is not allowed:
COALESCE(Quantity, SingleOrder)An explicit conversion from Boolean to integer such as the following is required:
COALESCE(Quantity, TO_INTEGER(SingleOrder))