SQL - ATAN() Function

The SQL ATAN() function calculates the arc tangent of a numeric value. This function accepts a single numeric value as an argument. The domain of the argument must be (-∞, ∞) i.e. the set of all real numbers and the range of the result will be [-π/2, π/2]. If the value passed to this function doesn't lie in the given domain, it raises an error.

As we already know, a tangent function in trigonometry is defined as the ratio of the sine function to the cosine function; but the arc tangent function is defined as its inverse, where the domain of tangent function becomes the range of arc tangent function and vice-versa.

Syntax

Following is the syntax of SQL ATAN() function −

```ATAN(number)
```

where, number is the value for which we need to calculate the arc tangent.

Example

If we pass a positive value as an argument, then this function returns it's equivalent arc tangent value which is positive as shown below −

```SELECT ATAN(0.8)
AS Arctan_Value
```

When we run above program, it produces following result −

```+-------------------+
| Arctan_Value      |
+-------------------+
| 0.674740942223553 |
+-------------------+
```

Example

If we pass a negative value as an argument to this function, then this function returns it's equivalent arc tangent value which is negative as shown below −

```SELECT ATAN(-0.5)
AS Arctan_Value
```

While executing the above code we get the following output −

```+--------------------+
| Arctan_Value       |
+--------------------+
| -0.463647609000806 |
+--------------------+
```

Example

If the value passed is NULL, this function returns NULL.

```SELECT ATAN(NULL)
AS Arctan_Value
```

Following is an output of the above code −

```+-------------------+
| Arctan_Value      |
+-------------------+
| NULL              |
+-------------------+
```

Example

The arc tangent value of 0 is 0.

```SELECT ATAN(0)
AS Arctan_Value
```

Output of the above code is as follows −

```+-------------------+
| Arctan_Value      |
+-------------------+
| 0                 |
+-------------------+
```

Example

When we calculate the arc tangent value of a number and pass the result to the tan() function, the final result is approximately equivalent to the original number.

```SELECT ATAN(1)
AS Arctan_Value
```

The result produced is as shown below −

```+-------------------+
| Arctan_Value      |
+-------------------+
| 0.785398163397448 |
+-------------------+
```

Now, we are trying to pass the value retrieved by the arc tangent to the tan() function −

```SELECT TAN(0.785398163397448)
AS tan_Value
```

The result obtained is as follows −

```+--------------------+
| tan_Value          |
+--------------------+
| 0.999999999999999  |
+--------------------+
```

Example

Assume we have created a table with name CUSTOMERS as shown below −

```create table CUSTOMERS(ID INT NOT NULL,
NAME VARCHAR(20) NOT NULL,
AGE INT NOT NULL,
SALARY DECIMAL(18, 2),
PRIMARY KEY(ID));
Commands completed successfully.
```

Let us insert r values into it −

```insert INTO CUSTOMERS VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000.00);
insert INTO CUSTOMERS VALUES(2, 'Khilan', 25, 'Delhi', 1500.00);
insert INTO CUSTOMERS VALUES(3, 'kaushik', 23, 'Kota', 2000.00);
insert INTO CUSTOMERS VALUES(4, 'Chaitali', 25, 'Mumbai', 6500.00);
insert INTO CUSTOMERS VALUES(5, 'Hardik', 27, 'Bhopal', 8500.00);
insert INTO CUSTOMERS VALUES(6, 'Komal', 22, 'MP', 4500.00);
insert INTO CUSTOMERS VALUES(7, 'Muffy', 24, 'Indore', 10000.00);
```

Following query calculates the arc tangent value of the salary of all the customers −

```SELECT NAME,AGE,SALARY,
ATAN(SALARY)
AS arc_salarytan
FROM customers;
```

The result produced is as follows −

```+----------+-----+----------+--------------------+
| NAME     | AGE | SALARY   | arc_salarytan      |
+----------+-----+----------+--------------------+
| Ramesh   |  32 |  2000.00 | 1.57029632683656   |
| Khilan   |  25 |  1500.00 | 1.570129660227     |
| kaushik  |  23 |  2000.00 | 1.57029632683656   |
| Chaitali |  25 |  6500.00 | 1.57064248064226   |
| Hardik   |  27 |  8500.00 | 1.57067867973662   |
| Komal    |  22 |  4500.00 | 1.57057410457633   |
| Muffy    |  24 | 10000.00 | 1.57069632679523   |
+----------+-----+----------+--------------------+
```
sql-numeric-functions.htm