SQL - ACOS() Function
The SQL ACOS() function calculates the arc cosine of a numeric value. This function accepts a single numeric value as an argument. The domain of the argument must be [-1,1] and the range of the result will be [0,π]. If the value passed to this function doesn't lie in the given domain, it raises an error.
Arc cosine function is the inverse of the cosine function in trigonometry. To explain in simple words, in a right-angled triangle, cosine function is defined as the ratio of an adjacent side of a non-right angle to the hypotenuse; but the arc cosine function is defined as its inverse, where the domain of cosine function becomes the range of arc cosine function and vice-versa.
Syntax
Following is the syntax of SQL ACOS() function −
ACOS(number)
where, number is the value for which we need to calculate the arc cosine.
Example
If we pass a positive value as an argument, then this function returns it's equivalent arc cosine value which is positive as shown below −
SELECT ACOS(0.8) AS Arccosine_Value
When we run above program, it produces following result −
+-------------------+ | Arccosine_Value | +-------------------+ | 0.643501108793284 | +-------------------+
Example
If we pass a negative value as an argument to this function, then this function returns it's equivalent arc cosine value which is positive as shown below −
SELECT ACOS(-0.5) AS Arccosine_Value
While executing the above code we get the following output −
+-------------------+ | Arccosine_Value | +-------------------+ | 2.0943951023932 | +-------------------+
Example
If the value passed to this function is not in the range of -1 to 1, then this function raises an error:
SELECT ACOS(6) AS Arccosine_Value
Following is an output of the above code −
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Example
The arc cosine value of 1 is 0.
SELECT ACOS(1) AS Arccosine_Value
Output of the above code is as follows −
+-------------------+ | Arccosine_Value | +-------------------+ | 0 | +-------------------+
Example
When we calculate the arc cosine value of a number and pass the result to the cos() function, the final result is equivalent to the original number.
SELECT ACOS(1) AS Arccosine_Value
The result produced is as shown below −
+-------------------+ | Arccosine_Value | +-------------------+ | 0 | +-------------------+
Now, we are trying to pass the value retrieved by the arc cosine to the cos() function −
SELECT COS(0) AS cos_Value
The result obtained is as follows −
+-----------+ | cos_Value | +-----------+ | 1 | +-----------+