Multiplication and division
The operator *
multiplies two numbers. If the operands are of different
types, one of them is promoted to the type of the other (for example, an integer is
promoted to a decimal, a decimal to a double). The result is the same type as the
operands after promotion.
The operator div
divides two numbers. Dividing two integers produces a
double; in other cases the result is the same type as the operands, after promotion. In
the case of decimal division, the precision is the sum of the precisions of the two
operands, plus six.
The operator idiv
performs integer division. For example, the result of
10 idiv 3
is 3
.
The mod
operator returns the modulus (or remainder) after division. See the
XPath 2.0 specification for details of the way that negative numbers are handled.
The operators *
and div
may also be used to multiply or divide
a duration by a number. For example, fn:dayTimeDuration('PT12H') * 4
returns the duration two days.