Перейти к содержимому
Последнее обновление

ATAN

Описание​

Возвращает значение арктангенса.

  • При одном параметре: возвращает арктангенс x в диапазоне [-π/2, π/2]

  • При двух параметрах: возвращает арктангенс y/x с тем же поведением, что и ATAN2(y, x); диапазон результата: [-π, π]

Синтаксис​

ATAN([<y>, ]<x>)

Параметры​

ПараметрОписание
<x>При одном параметре задаёт значение, для которого нужно вычислить арктангенс; при двух параметрах задаёт горизонтальную координату (или значение x), то есть расстояние вдоль оси x от начала координат (0,0).
<y>Необязательный параметр, задающий вертикальную координату (или значение y), то есть расстояние вдоль оси y от начала координат (0,0)

Возвращаемое значение​

Арктангенс значения параметра x.

Особые случаи​

Вариант с одним параметром​

  • Если x имеет значение NaN, возвращается NaN
  • Если x равен положительной бесконечности, возвращается π/2 (приблизительно 1.570796326794897)
  • Если x равен отрицательной бесконечности, возвращается -π/2 (приблизительно -1.570796326794897)
  • Если x имеет значение NULL, возвращается NULL

Вариант с двумя параметрами​

  • Если y или x имеет значение NaN, возвращается NaN
  • Если x > 0 и y = ±0.0, возвращается ±0 (знак совпадает со знаком y)
  • Если x = 0.0 (как +0.0, так и -0.0) и y > 0, возвращается π/2 (приблизительно 1.570796326794897)
  • Если x = 0.0 (как +0.0, так и -0.0) и y < 0, возвращается -π/2 (приблизительно -1.570796326794897)
  • Если x < 0 и y = +0.0, возвращается π (приблизительно 3.141592653589793); если x < 0 и y = -0.0, возвращается -π
  • Если y = +Infinity и x имеет конечное значение, возвращается π/2; если y = -Infinity и x имеет конечное значение, возвращается -π/2
  • Если y = +Infinity и x = +Infinity, возвращается π/4 (приблизительно 0.7853981633974483)
  • Если y = -Infinity и x = +Infinity, возвращается -π/4 (приблизительно -0.7853981633974483)
  • Если y = +Infinity и x = -Infinity, возвращается 3π/4 (приблизительно 2.356194490192345)
  • Если y = -Infinity и x = -Infinity, возвращается -3π/4 (приблизительно -2.356194490192345)
  • Если x = +Infinity и конечное значение y > 0, возвращается 0; если конечное значение y < 0, возвращается -0
  • Если x = -Infinity и конечное значение y > 0, возвращается π; если конечное значение y < 0, возвращается -π
  • Если y или x имеет значение NULL, возвращается NULL

Примеры​

select atan(0);
+-----------+
| atan(0.0) |
+-----------+
| 0 |
+-----------+
select atan(2);
+--------------------+
| atan(2.0) |
+--------------------+
| 1.1071487177940904 |
+--------------------+
select atan(cast('nan' as double));
+-----------------------------+
| atan(cast('nan' AS DOUBLE)) |
+-----------------------------+
| NaN |
+-----------------------------+
select atan(cast('inf' as double));
+-----------------------------+
| atan(cast('inf' AS DOUBLE)) |
+-----------------------------+
| 1.570796326794897 |
+-----------------------------+
select atan(cast('-inf' as double));
+------------------------------+
| atan(cast('-inf' AS DOUBLE)) |
+------------------------------+
| -1.570796326794897 |
+------------------------------+