# ROUND¶

Rounds a numeric expression to the nearest precision.

See also CEILING / CEIL, FLOOR.

## Syntax¶

```ROUND( expr [, scale ] )
```

## Arguments¶

Parameter

Description

`expr`

Numeric expression to round

`scale`

Number of digits after the decimal point to round to. Defaults to 0 if not specified.

## Returns¶

Always returns a floating point result.

## Notes¶

• If the input value is NULL, the result is NULL.

## Examples¶

### Rounding to the nearest integer¶

```numbers=> SELECT ROUND(x) FROM (VALUES (0.0001), (PI()), (-2.718281), (500.1234), (0.5), (1.5)) as t(x);
round
------
0
3
-3
500
1
2
```

### Rounding to 2 digits after the decimal point¶

```numbers=> SELECT ROUND(x,2) FROM (VALUES (0.0001), (PI()), (-2.718281), (500.1234)) as t(x);
round
-------
0
3.14
-2.72
500.12
```

### FLOOR vs. CEILING / CEIL vs. `ROUND`¶

```numbers=> SELECT FLOOR(x), CEIL(x), ROUND(x)
.      FROM (VALUES (0.0001), (-0.0001)
.           , (PI()), (-2.718281), (500.1234)) as t(x);
floor | ceil | round
------+------+------
0 |    1 |    0
-1 |    0 |    0
3 |    4 |    3
-3 |   -2 |   -3
500 |  501 |  500
```