# Arithmetic operators¶

Arithmetic operators are functions that can be used as infix operators, or as prefix operators.

## Syntax¶

```arithmetic_expr ::=
| value_expr binary_operator value_expr
| unary_operator value_expr

arithmetic_infix_operator ::=
+ | - | * | / | %

arithmetic_unary_operator ::=
+ | -
```

## Arguments¶

Parameter Description
`value_expr` Numeric expression, or expression that can be cast to a numeric expression

## Arithmetic operators¶

Operator Syntax Description
`+` (unary) `+a` Converts a string to a numeric value. Identical to `a :: double`
`+` `a + b` Adds two expressions together
`-` (unary) `-a` Negates a numeric expression
`-` `a - b` Subtracts `b` from `a`
`*` `a * b` Multiplies `a` by `b`
`/` `a / b` Divides `a` by `b`
`%` `a % b` Modulu of `a` by `b`. See also MOD, %

## Examples¶

### Coercing with a unary `+`¶

```numbers=> SELECT +'5';
5.00
```

### Using infix operators¶

```numbers=> SELECT 5*3 AS "5*3", 5+3 AS "5+3", 2-5 AS "2-5"
.                , 2.0-5 AS "2.0-5", 11 % 5 AS "11%5", 11/5 AS "11/5", 11.0 / 5 AS "11.0/5";
5*3 | 5+3 | 2-5 | 2.0-5 | 11%5 | 11/5 | 11.0/5
----+-----+-----+-------+------+------+-------
15 |   8 |  -3 |    -3 |    1 |    2 |    2.2
```