メインコンテンツへスキップ
メインコンテンツへスキップ

数学関数

acos

導入バージョン: v1.1

引数のアークコサイン(逆余弦)を返します。

構文

acos(x)

引数

戻り値

x の逆余弦を返します。Float*

使用例

SELECT acos(0.5);
1.0471975511965979

acosh

導入バージョン: v20.12

逆双曲線余弦関数を返します。

構文

acosh(x)

引数

  • x — 角度の双曲線余弦値。値の範囲: 1 ≤ x < +∞(U)Int* または Float* または Decimal*

返り値

角度をラジアン単位で返します。値の範囲: 0 ≤ acosh(x) < +∞Float64

使用例

SELECT acosh(1)
0

asin

バージョン v1.1 で導入

与えられた引数の逆正弦(arcsine)を計算します。 引数が [-1, 1] の範囲内にある場合、その戻り値は [-pi() / 2, pi() / 2] の範囲になります。

構文

asin(x)

引数

戻り値

指定された引数 x に対する逆双曲線正弦の値を返します。Float64

使用例

逆関数

SELECT asin(1.0) = pi() / 2, sin(asin(1)), asin(sin(1))
1 1 1

float32

SELECT toTypeName(asin(1.0::Float32))
Float64

nan

SELECT asin(1.1), asin(-2), asin(inf), asin(nan)
nan nan nan nan

asinh

導入バージョン: v20.12

逆双曲線正弦関数の値を返します。

構文

asinh(x)

引数

  • x — 角度の双曲線正弦値。値の範囲: -∞ < x < +∞(U)Int* または Float* または Decimal*

戻り値

ラジアンで表した角度を返します。値の範囲: -∞ < asinh(x) < +∞Float64

使用例

基本的な使い方

SELECT asinh(0)
0

atan

導入バージョン: v1.1

引数の逆正接(アークタンジェント)を返します。

構文

atan(x)

引数

  • x — 逆正接(アークタンジェント)を求める値。(U)Int* または Float* または Decimal*

戻り値

x の逆正接(アークタンジェント)を返します。Float*

使用例

SELECT atan(1);
0.7853981633974483

atan2

導入バージョン: v20.12

ユークリッド平面上で、正の x 軸と点 (x, y) ≠ (0, 0) への半直線との間の角度(ラジアン)としての atan2 の値を返します。

構文

atan2(y, x)

引数

返り値

-π < θ ≤ π を満たす角度 θ をラジアンで返します。型は Float64 です。

使用例

SELECT atan2(1, 1)
0.7853981633974483

atanh

導入バージョン: v20.12

逆双曲線正接を返します。

構文

atanh(x)

引数

  • x — 角度の双曲線正接の値。値の範囲: -1 < x < 1。(U)Int*Float* または Decimal*(U)Int* または Float* または Decimal*

戻り値

ラジアン単位の角度を返します。値の範囲: -∞ < atanh(x) < +∞ Float64

使用例

SELECT atanh(0)
0

cbrt

導入: v1.1

引数の立方根を返します。

構文

cbrt(x)

引数

戻り値

x の立方根を返します。Float*

使用例

SELECT cbrt(8);
2

cos

導入: v1.1

引数の余弦を返します。

構文

cos(x)

引数

戻り値

x の双曲線余弦を返します。Float*

使用例

SELECT cos(0);
1

cosh

導入バージョン: v20.12

指定された引数の双曲線余弦を返します。

構文

cosh(x)

引数

  • x — ラジアン単位の角度。取りうる値の範囲: -∞ < x < +∞(U)Int* または Float* または Decimal*

返り値

範囲 1 ≤ cosh(x) < +∞ の値を返します。型は Float64 です。

使用例

基本的な使い方

SELECT cosh(0)
1

degrees

導入バージョン: v22.2

ラジアンを度に変換します。

構文

degrees(x)

引数

返り値

x を度(degrees)に変換した値を返します。Float64

使用例

基本的な使用方法

SELECT degrees(3.141592653589793)
180

e

導入バージョン: v1.1

ネイピア数 (e) を返します。

構文

e()

引数

  • なし。

返される値

オイラーの定数を返します Float64

使用例

SELECT e();
2.718281828459045

erf

導入バージョン: v1.1

x が非負であるとき、標準偏差 σ を持つ正規分布に従う確率変数が、期待値から x を超えて離れた値をとる確率は erf(x/(σ√2)) で表されます。

構文

erf(x)

引数

戻り値

誤差関数の値を Float* 型で返します。

使用例

3シグマの法則

SELECT erf(3 / sqrt(2))
┌─erf(divide(3, sqrt(2)))─┐
│      0.9973002039367398 │
└─────────────────────────┘

erfc

導入バージョン: v1.1

大きな x の値に対しても精度を失うことなく、1-erf(x) に近い値を返します。

構文

erfc(x)

引数

返り値

相補誤差関数の値を返します。型は Float*

使用例

SELECT erfc(0);
1

exp

導入バージョン: v1.1

引数 x に対して、e を底とする指数関数 e^x の値を返します。

構文

exp(x)

引数

戻り値

e^x を返します。Float*

基本的な使用例

SELECT round(exp(-1), 4)
┌─round(exp(-1), 4)─┐
│            0.3679 │
└───────────────────┘

exp10

導入バージョン: v1.1

指定された引数を指数とする 10 の累乗を返します。

構文

exp10(x)

引数

戻り値

10 の x 乗を返します。Float*

使用例

SELECT exp10(2);
100

exp2

導入: v1.1

引数で指定された値を指数として、2 の冪を返します。

構文

exp2(x)

引数

返される値

2^x を返します。型は Float* です。

使用例

SELECT exp2(3);
8

factorial

導入バージョン: v22.11

整数値の階乗を計算します。 0 の階乗は 1 です。同様に、factorial() 関数は任意の負の値に対して 1 を返します。 入力引数として許容される最大の正の値は 20 で、21 以上の値を指定すると例外が発生します。

構文

factorial(n)

引数

  • n — 階乗を計算するための整数値。最大値は 20。(U)Int8/16/32/64

戻り値

入力値の階乗を UInt64 として返します。入力値が 0 または負の値の場合は 1 を返します。UInt64

使用例

factorial(10)
3628800

hypot

導入バージョン: v20.12

直角三角形の斜辺の長さを返します。 hypot は、非常に大きな数値や非常に小さな数値を二乗する際に発生する可能性のある問題を回避します。

構文

hypot(x, y)

引数

返される値

直角三角形の斜辺の長さを返します。Float64

基本的な使い方

SELECT hypot(1, 1)
1.4142135623730951

intExp10

導入バージョン: v1.1

exp10 と同様ですが、UInt64 型の値を返します。

構文

intExp10(x)

引数

戻り値

10^x を返します。UInt64

使用例

SELECT intExp10(2);
100

intExp2

導入バージョン: v1.1

exp2 と同様ですが、UInt64 型の値を返します。

構文

intExp2(x)

引数

戻り値

2^x を返します。型は UInt64 です。

使用例

SELECT intExp2(3);
8

lgamma

導入バージョン: v1.1

ガンマ関数の対数を返します。

構文

lgamma(x)

引数

戻り値

x のガンマ関数の対数を返します。Float*

使用例

SELECT lgamma(5);
3.1780538303479458

log

導入バージョン: v1.1

引数の自然対数を返します。

構文

log(x)

エイリアス: ln

引数

戻り値

x の自然対数を返します。Float*

使用例

SELECT log(10);
2.302585092994046

log10

導入バージョン: v1.1

引数の常用対数(底が 10 の対数)を返します。

構文

log10(x)

引数

  • x — 10 を底とする常用対数を計算する対象の数値。(U)Int* または Float* または Decimal*

返り値

x の 10 を底とする常用対数を返します。Float*

使用例

SELECT log10(100);
2

log1p

導入バージョン: v20.12

log(1 + x) を計算します。 x が小さい値の場合、log1p(x) の方が log(1 + x) よりも精度良く計算できます。

構文

log1p(x)

引数

戻り値

戻り値は区間 -∞ < log1p(x) < +∞ に属する値です。Float64

使用例

SELECT log1p(0)
0

log2

導入バージョン: v1.1

引数の二進対数を返します。

構文

log2(x)

引数

返される値

x の二進対数を返します。Float*

使用例

SELECT log2(8);
3

pi

導入バージョン: v1.1

円周率 (π) を返します。

構文

pi()

引数

  • なし。

返り値

π を返します。型は Float64 です。

使用例

SELECT pi();
3.141592653589793

pow

導入バージョン: v1.1

x の y 乗を返します。

構文

pow(x, y)

別名: power

引数

戻り値

x^y を返します。戻り値の型は Float64 です。

使用例

SELECT pow(2, 3);
8

proportionsZTest

導入バージョン: v22.3

2 つの母集団 x と y から得られた比率を比較するための統計的検定である、2 標本比率に対する Z 検定の検定統計量を返します。 この関数は、標準誤差に対するプールド(pooled)およびアンプールド(unpooled)の両方の推定手法をサポートします。 プールド版では、2 つの比率の平均を取り、1 つの比率のみを用いて標準誤差を推定します。 アンプールド版では、2 つの比率をそれぞれ別々に用いて標準誤差を推定します。

構文

proportionsZTest(successes_x, successes_y, trials_x, trials_y, conf_level, pool_type)

引数

  • successes_x — 母集団 x における成功回数。UInt64
  • successes_y — 母集団 y における成功回数。UInt64
  • trials_x — 母集団 x における試行回数。UInt64
  • trials_y — 母集団 y における試行回数。UInt64
  • conf_level — 検定における信頼水準。Float64
  • pool_type — 標準誤差推定におけるプーリング手法の選択。'unpooled' または 'pooled' のいずれか。String

戻り値

次を含むタプルを返します: z_stat (Z 統計量), p_val (P 値), ci_low (信頼区間下限), ci_high (信頼区間上限)。Tuple(Float64, Float64, Float64, Float64)

使用例

SELECT proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled');
┌─proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled')───────────────────────────────┐
│ (-0.20656724435948853,0.8363478437079654,-0.09345975390115283,0.07563797172293502) │
└────────────────────────────────────────────────────────────────────────────────────┘

radians

導入バージョン: v22.2

度数法の角度をラジアンに変換します。

構文

radians(x)

引数

戻り値

ラジアン単位の値を Float64 型で返します

使用例

SELECT radians(180)
3.141592653589793

sigmoid

導入バージョン: v20.1

シグモイド関数 1 / (1 + exp(-x)) を計算します。シグモイド関数は任意の実数値を (0, 1) の範囲に写像する関数で、機械学習で一般的に利用されます。

構文

sigmoid(x)

引数

戻り値

入力値のシグモイド値を返します。返される値の範囲は (0, 1) です。Float64

基本的な使い方

SELECT sigmoid(0)
0.5

sign

導入: v21.2

実数の符号を返します。

構文

sign(x)

引数

返り値

x < 0 の場合は -1x = 0 の場合は 0x > 0 の場合は 1 を返します。戻り値の型は Int8 です。

ゼロの符号

SELECT sign(0)
0

正のときの符号

SELECT sign(1)
1

負の値の場合の符号

SELECT sign(-1)
-1

sin

導入バージョン: v1.1

引数の正弦を返します。

構文

sin(x)

引数

戻り値

x の正弦値を返します。

使用例

簡単な例

SELECT sin(1.23)
0.9424888019316975

sinh

導入バージョン: v20.12

双曲線正弦関数を返します。

構文

sinh(x)

引数

  • x — ラジアン単位の角度。取り得る値の範囲: -∞ < x < +∞。(U)Int* または Float* または Decimal*

返り値

戻り値の範囲: -∞ < sinh(x) < +∞。Float64

使用例

SELECT sinh(0)
0

sqrt

導入バージョン: v1.1

引数の平方根を返します。

構文

sqrt(x)

引数

戻り値

x の平方根を返します。Float*

使用例

SELECT sqrt(16);
4

tan

導入バージョン: v1.1

指定した引数の正接を返します。

構文

tan(x)

引数

戻り値

x の双曲線正接を返します。Float*

使用例

SELECT tan(0);
0

tanh

導入バージョン: v20.1

双曲線正接の値を返します。

構文

tanh(x)

引数

  • x — ラジアン単位の角度。値の範囲は -∞ < x < +∞。(U)Int* または Float* または Decimal*

戻り値

-1 < tanh(x) < 1 の範囲の値を返します。Float*

使用例

SELECT tanh(0)
0

tgamma

導入バージョン: v1.1

ガンマ関数の値を返します。

構文

tgamma(x)

引数

  • x — ガンマ関数を計算する対象となる数値。(U)Int* または Float* または Decimal*

戻り値

ガンマ関数の値を返します。型は Float*

使用例

SELECT tgamma(5);
24

widthBucket

導入バージョン: v23.3

ヒストグラムの範囲 low から high を、count 個の等幅バケットに分割したときに、パラメータ operand が属するバケット番号を返します。operandlow より小さい場合は 0 を返し、operandhigh 以上の場合は count+1 を返します。 他のデータベースとの互換性のため、大文字小文字を区別しないエイリアス WIDTH_BUCKET も用意されています。

構文

widthBucket(operand, low, high, count)

別名: width_bucket

引数

返される値

バケット番号を整数で返します。operand &lt; low の場合は 0 を返し、operand &gt;= high の場合は count+1 を返します。UInt8/16/32/64

使用例

widthBucket(10.15, -8.6, 23, 18)
11