In this tutorial, we will study the MySQL `ACOS()`

function. In maths, you must have come across the function – acos. The arc cosine of a number x is the inverse cosine function of x where x is a number between -1 and 1. It returns the angle whose cosine is a given number. Arc cosine is one of the inverse trigonometric functions.

Like all other trigonometric operations, acos is widely used and that’s why MySQL provides us with the `ACOS()`

function.

`ACOS()`

returns the arc cosine of a number. As evident, it is the inverse of the `COS()`

function. `ACOS()`

returns the angle (in radians) whose cosine value is passed as a parameter to it.

## Syntax of MySQL ACOS()

`ACOS(number);`

Code language: SQL (Structured Query Language) (sql)

Where ‘number’ is a number whose arc cosine is to be found. Note that, ‘number’ should have a value between -1 and 1.

## Examples of MySQL ACOS()

Let us start with some basic examples of the `ACOS()`

function. We have the following three expressions – acos 0.56, acos 1 and acos -1. Let us find their values in MySQL using the `ACOS()`

function with the `SELECT`

statement.

```
SELECT ACOS(0.56);
SELECT ACOS(1);
SELECT ACOS(-1);
```

Code language: SQL (Structured Query Language) (sql)

And we get the output as,

### MySQL ACOS() With Numbers Out Of Range

We saw in the syntax that the ‘number’ parameter should be a value between -1 (inclusive) and 1 (inclusive). What if you pass a value that is not in this range? That is, the ‘number’ value is greater than 1 or less than -1. Let us see what `ACOS()`

returns in such a case using the below example.

```
SELECT ACOS(-185);
SELECT ACOS(56);
```

Code language: SQL (Structured Query Language) (sql)

And the output is,

**When we pass numbers not in the range -1 and 1 to ACOS(), it will return NULL. **

### MySQL ACOS() With Expressions

We can also pass mathematical expressions as parameters inside the `ACOS()`

function. Suppose you have the following two expressions – acos(0.025*0.2) and acos (0.45+0.2). We can do this in MySQL using the `ACOS()`

using the below queries.

```
SELECT ACOS(0.025*0.2);
SELECT ACOS(0.45+0.2);
```

Code language: SQL (Structured Query Language) (sql)

And the output is,

### ACOS() With Zero

Let us find the arc cosine of zero now.

`SELECT ACOS(0);`

Code language: SQL (Structured Query Language) (sql)

And the output is,

### ACOS() With NULL

** ACOS() returns NULL if the number passed to it is NULL.** We can demonstrate this using the below example.

`SELECT ACOS(NULL);`

Code language: SQL (Structured Query Language) (sql)

And we get the output as follows –

### ACOS() Is The Inverse Of COS()

As mentioned earlier in the introduction, `ACOS()`

is the inverse of `COS()`

. Suppose the cosine of y is equal to x. That is, **cos y = x**

Then the arc cosine of x is equal to the inverse cosine function of x, which is therefore, equal to y: **arc cos x = cos ^{-1} x = y**

Let us demonstrate this using the below example.

`SELECT ACOS(COS(0.5));`

Code language: SQL (Structured Query Language) (sql)

First, we get the value of `COS(0.5)`

. Now the result of the `COS()`

function is passed into the `ACOS()`

function.

Since `ACOS()`

is the inverse of `COS()`

, it will return the numerical value (approximately) that was passed to the `COS()`

function (0.5 in this example) as the result. In the below output we get 0.49999999 which is rougly equal to 0.5.

### Using ACOS() With Tables

Consider the below ‘Angles’ table.

Building on the previous example about how `ACOS()`

is the inverse of `COS()`

, let us write a query that displays the Angle column and the arc cosine of the values in the `CosineOfAngle`

column. We use aliases to make our output readable. The query is –

`SELECT Angle, ACOS(CosineOfAngle) AS ArcCosine FROM Angles;`

Code language: SQL (Structured Query Language) (sql)

And the output is,

As you can see, the values in both columns are roughly equal to each other.

## Conclusion

Finding the arc cosine of an angle is an important trigonometric operation. You will find yourself using the `ACOS()`

function every time you deal with data with trigonometric operations.

## References

- MySQL Official Documentation on
`ACOS()`

.