> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sdf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Math Functions

## `abs`

Returns the absolute value of x.

*Examples:*

```sql examples.sql theme={null}
select abs(-1) as value; -- value '1.0'
```

*Supported Signatures*

```sql theme={null}
function abs(tinyint) returns tinyint
function abs(smallint) returns smallint
function abs(bigint) returns bigint
function abs(double) returns double
function abs(decimal(p, s)) returns decimal(p, s)
function abs(real) returns real
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#abs)

## `acos`

Returns the arc cosine of x.

*Examples:*

```sql examples.sql theme={null}
select acos(0.5) as value; -- value '1.0471975511965976'
```

*Supported Signatures*

```sql theme={null}
function acos(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#acos)

## `asin`

Returns the arc sine of x.

*Examples:*

```sql examples.sql theme={null}
select asin(1) as value; -- value '1.5707963267948966'
```

*Supported Signatures*

```sql theme={null}
function asin(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#asin)

## `atan`

Returns the arc tangent of x.

*Examples:*

```sql examples.sql theme={null}
select atan(0) as value; -- value '0.0'
```

*Supported Signatures*

```sql theme={null}
function atan(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#atan)

## `atan2`

Returns the arc tangent of y / x.

*Examples:*

```sql examples.sql theme={null}
select atan2(1, 0.5) as value; -- value '1.1071487177940904'
```

*Supported Signatures*

```sql theme={null}
function atan2(double, double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#atan2)

## `cbrt`

Returns the cube root of x.

*Examples:*

```sql examples.sql theme={null}
SELECT cbrt(328509) as value; -- value '69.0'
```

*Supported Signatures*

```sql theme={null}
function cbrt(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#cbrt)

## `ceil`

This is an alias for ceiling().

*Examples:*

```sql examples.sql theme={null}
SELECT ceil(1.3) AS value; -- value '2.0'
```

*Supported Signatures*

```sql theme={null}
function ceil(bigint) returns bigint
function ceil(double) returns double
function ceil(real) returns real
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#ceil)

## `ceiling`

Returns x rounded up to the nearest integer.

*Supported Signatures*

```sql theme={null}
function ceiling(bigint) returns bigint
function ceiling(double) returns double
function ceiling(real) returns real
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#ceiling)

## `cos`

Returns the cosine of x.

*Examples:*

```sql examples.sql theme={null}
select cos(1.0) as value; -- value '0.5403023058681398'
```

*Supported Signatures*

```sql theme={null}
function cos(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#cos)

## `cosh`

Returns the hyperbolic cosine of the given value.

*Examples:*

```sql examples.sql theme={null}
SELECT cosh(0) AS value; -- value '1.0'
```

*Supported Signatures*

```sql theme={null}
function cosh(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#cosh)

## `degrees`

Converts angle x in radians to degrees.

*Examples:*

```sql examples.sql theme={null}
SELECT degrees(3.14159) AS value; -- value '179.9998547447946'
```

*Supported Signatures*

```sql theme={null}
function degrees(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#degrees)

## `exp`

Returns Euler’s number raised to the power of x.

*Examples:*

```sql examples.sql theme={null}
select exp(1.0) as value; -- value '2.718281828459045'
```

*Supported Signatures*

```sql theme={null}
function exp(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#exp)

## `floor`

Returns x rounded down to the nearest integer.

*Supported Signatures*

```sql theme={null}
function floor(bigint) returns bigint
function floor(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#floor)

## `is_nan`

Determine if `x` is not-a-number.

*Examples:*

```sql examples.sql theme={null}
select is_nan(1.1) as value; -- value 'false'
```

*Supported Signatures*

```sql theme={null}
function is_nan(double) returns boolean
function is_nan(real) returns boolean
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#is_nan)

## `ln`

Returns the natural logarithm of x.

*Examples:*

```sql examples.sql theme={null}
select ln(2.1) as value; -- value '0.7419373447293773'
```

*Supported Signatures*

```sql theme={null}
function ln(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#ln)

## `log`

Returns the base b logarithm of x.

*Examples:*

```sql examples.sql theme={null}
SELECT log(2.19, 1) AS value; -- value '0.0'
```

*Supported Signatures*

```sql theme={null}
function log(double, double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#log)

## `log10`

Returns the base 10 logarithm of x.

*Examples:*

```sql examples.sql theme={null}
select log10(10) as value; -- value '1.0'
```

*Supported Signatures*

```sql theme={null}
function log10(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#log10)

## `log2`

Returns the base 2 logarithm of x.

*Examples:*

```sql examples.sql theme={null}
select log2(2) as value; -- value '1.0'
```

*Supported Signatures*

```sql theme={null}
function log2(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#log2)

## `mod`

Returns the modulus (remainder) of n divided by m.

*Supported Signatures*

```sql theme={null}
function mod(bigint, bigint) returns bigint
function mod(double, double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#mod)

## `pi`

Returns the constant Pi.

*Examples:*

```sql examples.sql theme={null}
SELECT PI() -- value '3.141592653589793'
```

*Supported Signatures*

```sql theme={null}
function pi() returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#pi)

## `pow`

This is an alias for power().

*Supported Signatures*

```sql theme={null}
function pow(double, double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#pow)

## `power`

Returns x raised to the power of p.

*Examples:*

```sql examples.sql theme={null}
select power(2, 8) as value; -- value '256'
```

*Supported Signatures*

```sql theme={null}
function power(double, double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#power)

## `radians`

Converts angle x in degrees to radians.

*Examples:*

```sql examples.sql theme={null}
SELECT radians(360) AS value; -- value '6.283185307179586'
```

*Supported Signatures*

```sql theme={null}
function radians(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#radians)

## `rand`

This is an alias for random().

*Supported Signatures*

```sql theme={null}
function rand() returns double
```

*Note: rand() is volatile, i.e. might return a
different value for the same input.*

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#rand)

## `random`

Returns a pseudo-random value in the range 0.0 \<= x \< 1.0.

*Examples:*

```sql examples.sql theme={null}
select random() as value; -- value '0.8781138533805801'
```

*Supported Signatures*

```sql theme={null}
function random() returns double
```

*Note: random() is volatile, i.e. might return a
different value for the same input.*

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#random)

## `round`

Returns x rounded to the nearest integer.

*Examples:*

```sql examples.sql theme={null}
select round(2.1) as value; -- value '2.0'
```

*Supported Signatures*

```sql theme={null}
function round(double) returns double
function round(double, bigint) returns double
function round(real) returns real
function round(real, bigint) returns real
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#round)

## `sign`

Returns the signum function of x, that is.

*Supported Signatures*

```sql theme={null}
function sign(decimal(p, s)) returns decimal(1, 0)
function sign(double) returns double
function sign(real) returns real
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#sign)

## `sin`

Returns the sine of x.

*Examples:*

```sql examples.sql theme={null}
select sin(2.1) as value; -- value '-0.8632093666488737'
```

*Supported Signatures*

```sql theme={null}
function sin(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#sin)

## `sinh`

Returns the hyperbolic sine of x.

*Examples:*

```sql examples.sql theme={null}
SELECT sinh(1) AS value; -- value '1.1752011936438014'
```

*Supported Signatures*

```sql theme={null}
function sinh(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#sinh)

## `sqrt`

Returns the square root of x.

*Examples:*

```sql examples.sql theme={null}
select sqrt(16) as value; -- value '4.0'
```

*Supported Signatures*

```sql theme={null}
function sqrt(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#sqrt)

## `tan`

Returns the tangent of x.

*Examples:*

```sql examples.sql theme={null}
select tan(0.5) as value; -- value '0.5463024898437905'
```

*Supported Signatures*

```sql theme={null}
function tan(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#tan)

## `tanh`

Returns the hyperbolic tangent of x.

*Examples:*

```sql examples.sql theme={null}
SELECT tanh(1.0) AS value; -- value '0.7615941559557649'
```

*Supported Signatures*

```sql theme={null}
function tanh(double) returns double
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#tanh)

## `truncate`

Returns x rounded to integer by dropping digits after decimal point.

*Examples:*

```sql examples.sql theme={null}
SELECT truncate(1.23456, 2) as value; -- value '1.23'
```

*Supported Signatures*

```sql theme={null}
function truncate(decimal(p, s), bigint) returns decimal(p, s)
function truncate(decimal(p, s)) returns decimal(rp, 0)
function truncate(double) returns double
function truncate(real) returns real
```

[🔗 Official Documentation](https://trino.io/docs/current/functions/math.html#truncate)
