# Mathematical Operations in WOQL

WOQL has a number of mathematical operations that can be
performed. These include, `plus`

, `minus`

, `divide`

, `times`

, `div`

(for integer division), `exp`

and `floor`

.

To use these operations you need to `evaluate`

an arithmetic
expression, and then you will be able to bind the result to a
variable.

For instance:

```
let v = Vars("result");
evaluate(times(2,3), v.result)
```

This will store the value of 2 times 3 in the variable `result`

. The
bindings which result from this query are:

```
[ {"result": {"@type":"xsd:decimal", "@value":12}} ]
```

You can also chain these together, to build up more complicated computations, or use the results obtained by queries to derive new values.

```
let v = Vars("result1", "result2");
and(evaluate(times(2,3), v.result1),
evaluate(times(v.result1,3), v.result2))
```

Which results in:

```
[ {"result1": {"@type":"xsd:decimal", "@value":6},
"result2": {"@type":"xsd:decimal", "@value":18}} ]
```