ATAN2

说明

反正切函数。给定对边和邻边表示的正切值(为对边除以邻边),返回以弧度表示的角度值。

语法

atan2 ::=

参数

float_expression1

FLOAT8类型的表达式,表示对边。

float_expression2

FLOAT8类型的表达式,表示邻边。

返回值

FLOAT8,以弧度表示的角度值。

注解

  • 返回的角度值的正切值等于对边 float_expression1 除以邻边 float_expression2 , 所以 ATAN2(1, 2) 等于 ATAN2(2, 4)。
  • SATAN2(float_expression1, float_expression2) 实际上与 ATAN(float_expression1 / float_expression2) 的结果是一致的。
  • 由于该函数在DB2数据库中的实现与神通数据库有些不同,使用该函数时需要打开兼容开关。

示例

示例1: 用 ATAN2 求给定的对边和邻边表示的正切值对应的角度

--  用 ATAN2 求给定的对边和邻边表示的正切值对应的角度
SELECT ATAN2(23.3, 126.36);
ATAN2(double precision)      |
-----------------------------
0.182345559009614            |
总数目:1



--  第一个参数值为 0
SELECT ATAN2(0, 1);
ATAN2(double precision)      |
-----------------------------
0                            |
总数目:1



--  第二个参数值为 0
SELECT ATAN2(1, 0);
ATAN2(double precision)      |
-----------------------------
1.5707963267949              |
总数目:1


--  两个参数都为 0
SELECT ATAN2(0, 0);
ERROR, 数值类型溢出, atan2(0.000000,0.000000) OVERFLOW !


示例2: 兼容 DB2 时 ATAN2 求给定的对边和邻边表示的正切值对应的角度

--  用 ATAN2 求给定的对边和邻边表示的正切值对应的角度
SELECT ATAN2(23.3, 126.36);
ATAN2(double precision)      |
-----------------------------
1.38845076778528             |
总数目:1



--  第一个参数值为 0
SELECT ATAN2(0, 1);
ATAN2(double precision)      |
-----------------------------
1.5707963267949              |
总数目:1



--  第二个参数值为 0
SELECT ATAN2(1, 0);
ATAN2(double precision)      |
-----------------------------
0                            |
总数目:1


--  两个参数都为 0
SELECT ATAN2(0, 0);
SESSIONID = 0
2016-01-18 12:58:43, ERROR, Abstract Data Type, 数值类型溢出, atan2(0.000000,0.000000) OVERFLOW !