SQL ATAN()函数
SQL ATAN()函数计算数字值的反正切。该函数接受一个单一的数字值作为参数。参数的定义域必须为(-∞, ∞),即所有实数的集合,结果的范围将为[-π/2, π/2]。如果传递给该函数的值不在给定的定义域内,它将引发一个错误。
正如我们已经知道的那样,三角学中的正切函数定义为正弦函数与余弦函数的比值;但反正切函数被定义为其反函数,其中正切函数的定义域成为反正切函数的值域,反之亦然。
语法
以下是SQL ATAN()函数的语法:
ATAN(number)
其中,number是我们需要计算反正切的值。
示例
如果我们传递一个正值作为参数,那么此函数返回其对应的正反正切值,如下所示:
SELECT ATAN(0.8)
AS Arctan_Value
当我们运行以上程序时,它产生以下结果 –
+-------------------+
| Arctan_Value |
+-------------------+
| 0.674740942223553 |
+-------------------+
示例
如果我们将一个负值作为参数传递给此函数,则该函数返回其相应的负弧正切值,如下所示-
SELECT ATAN(-0.5)
AS Arctan_Value
执行上面的代码时,我们得到以下输出 –
+--------------------+
| Arctan_Value |
+--------------------+
| -0.463647609000806 |
+--------------------+
示例
如果传递的值为NULL,则此函数返回NULL。
SELECT ATAN(NULL)
AS Arctan_Value
以下是上述代码的输出-
+-------------------+
| Arctan_Value |
+-------------------+
| NULL |
+-------------------+
示例
0的反正切值为0。
SELECT ATAN(0)
AS Arctan_Value
上述代码的输出如下:
+-------------------+
| Arctan_Value |
+-------------------+
| 0 |
+-------------------+
示例
当我们计算一个数的反正切值,并将结果传递给tan()函数时,最终结果大致等于原始数值。
SELECT ATAN(1)
AS Arctan_Value
产生的结果如下所示−
+-------------------+
| Arctan_Value |
+-------------------+
| 0.785398163397448 |
+-------------------+
现在,我们正在尝试通过弧正切函数tangent()传递检索到的值−
SELECT TAN(0.785398163397448)
AS tan_Value
所得结果如下:
+--------------------+
| tan_Value |
+--------------------+
| 0.999999999999999 |
+--------------------+
示例
假设我们已经创建了一个名为CUSTOMERS的表,如下所示−
create table CUSTOMERS(ID INT NOT NULL,
NAME VARCHAR(20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(25),
SALARY DECIMAL(18, 2),
PRIMARY KEY(ID));
Commands completed successfully.
让我们将r值插入其中-
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);
以下查询计算所有客户的薪资的反正切值 –
SELECT NAME,AGE,SALARY,
ATAN(SALARY)
AS arc_salarytan
FROM customers;
生成的结果如下:
+----------+-----+----------+--------------------+
| 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 |
+----------+-----+----------+--------------------+