メインコンテンツまでスキップ
に最終更新

ATAN

説明​

逆正接値を返します。

  • 引数が一つの場合:x の逆正接値を返します。結果の範囲は [-π/2, π/2] です。

  • 引数が二つの場合:y/x の逆正接値を返します。ATAN2(y, x) と同じ動作をし、結果の範囲は [-π, π] です。

構文​

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

パラメータ​

パラメータ説明
<x>引数が一つの場合は逆正接を計算する値を表します。引数が二つの場合は水平座標(x 値)、つまり原点 (0,0) から x 軸に沿った距離を表します。
<y>任意。垂直座標(y 値)、つまり原点 (0,0) から y 軸に沿った距離を表します。

戻り値​

引数 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 |
+------------------------------+