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

# ACOS

> Returns the inverse cosine of a number.

<div className="e6-meta"><span className="e6-eyebrow e6-eyebrow--quiet">Scalar function</span></div>

Returns NULL when an argument is NULL.

## Syntax

### Scalar

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
acos(value)
```

## Arguments

| Name | Type | Required | Description |
| - | - | - | - |
| value | TINYINT, SMALLINT, INTEGER, BIGINT, FLOAT, DOUBLE or DECIMAL(p, s) | Yes | The number to evaluate. For DECIMAL(p, s), p is precision (total digits) and s is scale (digits after the decimal point). |

## Returns

* Type: DOUBLE; FLOAT when the input is evaluated as FLOAT
* Possible values: Values in radians from 0 through pi for input in \[-1, 1]; NaN outside this domain.
* NULL behavior: Returns NULL when an argument is NULL.

## Properties

| Property | Value |
| - | - |
| Deterministic | Yes |
| Supports window usage | No |
| Exact result | No |

* Approximation bound: No fixed maximum error is guaranteed.

## Units

* Input unit: Dimensionless number
* Output unit: Radians
* Use degrees(result) to convert the result to degrees.

## Usage notes

* Numeric inputs are normally converted to DOUBLE for calculation. An input evaluated as FLOAT keeps FLOAT precision.
* INTEGER and INT mean the same type; STRING means VARCHAR text. NULL can be used with a supported type. Cast NULL explicitly when its type would otherwise be unclear.
* Exact result: Floating-point computation can round the mathematical result.

## Examples

### Value and NULL input

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
SELECT acos(CAST(1 AS DOUBLE)) AS "value", acos(CAST(NULL AS DOUBLE)) AS null_value;
```

| value | null\_value |
| - | - |
| 0 | NULL |

### Zero and the lower input boundary

Results are in radians, rounded to six decimal places.

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
SELECT round(acos(CAST(0 AS DOUBLE)), 6) AS at_zero, round(acos(CAST(-1 AS DOUBLE)), 6) AS at_minus_one;
```

| at\_zero | at\_minus\_one |
| - | - |
| 1.570796 | 3.141593 |

## Limitations

* Input outside \[-1, 1] produces NaN rather than NULL.
* Query tools may report DOUBLE even when the result is FLOAT. The reported type does not increase the result’s precision.

## Related functions

* [radians](/query/sql/functions/math/radians)
* [degrees](/query/sql/functions/math/degrees)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.