メインコンテンツまでスキップ
メインコンテンツまでスキップ

数学関数

e

eeオイラーの定数)を返します。

構文

e()

返される値

タイプ: Float64.

pi

π\pi円周率)を返します。

構文

pi()

返される値

タイプ: Float64.

exp

exe^{x}を返します。ここで、xは関数への引数です。

構文

exp(x)

引数

クエリ:

SELECT round(exp(-1), 4);

結果:

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

返される値

タイプ: Float*.

log

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

構文

log(x)

エイリアス: ln(x)

引数

返される値

タイプ: Float*.

exp2

指定された引数の2のべき乗を返します。

構文

exp2(x)

引数

返される値

タイプ: Float*.

intExp2

exp と同様ですが、UInt64を返します。

構文

intExp2(x)

log2

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

構文

log2(x)

引数

返される値

タイプ: Float*.

exp10

指定された引数の10のべき乗を返します。

構文

exp10(x)

引数

返される値

タイプ: Float*.

intExp10

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

構文

intExp10(x)

log10

引数の常用対数を返します。

構文

log10(x)

引数

返される値

タイプ: Float*.

sqrt

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

sqrt(x)

引数

返される値

タイプ: Float*.

cbrt

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

cbrt(x)

引数

返される値

タイプ: Float*.

erf

xが非負の場合、erf(xσ2)erf(\frac{x}{\sigma\sqrt{2}})は、標準偏差σ\sigmaを持つ正規分布のランダム変数が期待値からx以上に離れた値を取る確率です。

構文

erf(x)

引数

返される値

タイプ: Float*.

(3シグマの法則)

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

erfc

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

構文

erfc(x)

引数

返される値

タイプ: Float*.

lgamma

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

構文

lgamma(x)

引数

返される値

タイプ: Float*.

tgamma

ガンマ関数を返します。

構文

gamma(x)

引数

返される値

タイプ: Float*.

sin

引数のサインを返します。

構文

sin(x)

引数

返される値

タイプ: Float*.

クエリ:

SELECT sin(1.23);
0.9424888019316975

cos

引数のコサインを返します。

構文

cos(x)

引数

返される値

タイプ: Float*.

tan

引数のタンジェントを返します。

構文

tan(x)

引数

返される値

タイプ: Float*.

asin

引数のアークサインを返します。

構文

asin(x)

引数

返される値

タイプ: Float*.

acos

引数のアークコサインを返します。

構文

acos(x)

引数

返される値

タイプ: Float*.

atan

引数のアークタンジェントを返します。

構文

atan(x)

引数

返される値

タイプ: Float*.

pow

xyx^yを返します。

構文

pow(x, y)

エイリアス: power(x, y)

引数

返される値

タイプ: Float64.

cosh

引数の双曲線コサインを返します。

構文

cosh(x)

引数

  • x — ラジアンで表された角度。区間からの値: <x<+-\infty \lt x \lt +\infty(U)Int*Float*、またはDecimal*

返される値

  • 区間からの値: 1cosh(x)<+1 \le cosh(x) \lt +\infty

タイプ: Float64.

SELECT cosh(0);

結果:

┌─cosh(0)──┐
│        1 │
└──────────┘

acosh

逆双曲線コサインを返します。

構文

acosh(x)

引数

  • x — 角度の双曲線コサイン。区間からの値: 1x<+1 \le x \lt +\infty(U)Int*Float*、またはDecimal*

返される値

  • ラジアンで表された角度。区間からの値: 0acosh(x)<+0 \le acosh(x) \lt +\infty

タイプ: Float64.

SELECT acosh(1);

結果:

┌─acosh(1)─┐
│        0 │
└──────────┘

sinh

双曲線サインを返します。

構文

sinh(x)

引数

  • x — ラジアンで表された角度。区間からの値: <x<+-\infty \lt x \lt +\infty(U)Int*Float*、またはDecimal*

返される値

  • 区間からの値: <sinh(x)<+-\infty \lt sinh(x) \lt +\infty

タイプ: Float64.

SELECT sinh(0);

結果:

┌─sinh(0)──┐
│        0 │
└──────────┘

asinh

逆双曲線サインを返します。

構文

asinh(x)

引数

  • x — 角度の双曲線サイン。区間からの値: <x<+-\infty \lt x \lt +\infty(U)Int*Float*、またはDecimal*

返される値

  • ラジアンで表された角度。区間からの値: <asinh(x)<+-\infty \lt asinh(x) \lt +\infty

タイプ: Float64.

SELECT asinh(0);

結果:

┌─asinh(0)─┐
│        0 │
└──────────┘

tanh

双曲線タンジェントを返します。

構文

tanh(x)

引数

  • x — ラジアンで表された角度。区間からの値: <x<+-\infty \lt x \lt +\infty(U)Int*Float*、またはDecimal*

返される値

  • 区間からの値: 1<tanh(x)<1-1 \lt tanh(x) \lt 1

タイプ: Float*.

SELECT tanh(0);

結果:

0

atanh

逆双曲線タンジェントを返します。

構文

atanh(x)

引数

  • x — 角度の双曲線タンジェント。区間からの値: 1<x<1-1 \lt x \lt 1(U)Int*Float*、またはDecimal*

返される値

  • ラジアンで表された角度。区間からの値: <atanh(x)<+-\infty \lt atanh(x) \lt +\infty

タイプ: Float64.

SELECT atanh(0);

結果:

┌─atanh(0)─┐
│        0 │
└──────────┘

atan2

正のx軸と点(x, y) ≠ (0, 0)への光線の間の角度をラジアンで返します。

構文

atan2(y, x)

引数

返される値

  • 角度θは、π<0π-\pi \lt 0 \le \pi、ラジアンで。

タイプ: Float64.

SELECT atan2(1, 1);

結果:

┌────────atan2(1, 1)─┐
│ 0.7853981633974483 │
└────────────────────┘

hypot

直角三角形の斜辺の長さを返します。Hypotは、非常に大きいまたは小さい数を2乗する時に発生する問題を回避します。

構文

hypot(x, y)

引数

返される値

  • 直角三角形の斜辺の長さ。

タイプ: Float64.

SELECT hypot(1, 1);

結果:

┌────────hypot(1, 1)─┐
│ 1.4142135623730951 │
└────────────────────┘

log1p

log(1+x)を計算します。計算 log1p(x)は、xの小さい値に対してlog(1+x)よりも正確です。

構文

log1p(x)

引数

  • x — 区間からの値: 1<x<+-1 \lt x \lt +\infty(U)Int*Float*、またはDecimal*

返される値

  • 区間からの値: <log1p(x)<+-\infty < log1p(x) \lt +\infty

タイプ: Float64.

SELECT log1p(0);

結果:

┌─log1p(0)─┐
│        0 │
└──────────┘

sign

実数の符号を返します。

構文

sign(x)

引数

  • x-\inftyから++\inftyまでの値。ClickHouseのすべての数値型をサポートします。

返される値

  • x < 0 の場合は-1
  • x = 0 の場合は0
  • x > 0 の場合は1

タイプ: Int8.

ゼロ値の符号:

SELECT sign(0);

結果:

┌─sign(0)─┐
│       0 │
└─────────┘

正の値の符号:

SELECT sign(1);

結果:

┌─sign(1)─┐
│       1 │
└─────────┘

負の値の符号:

SELECT sign(-1);

結果:

┌─sign(-1)─┐
│       -1 │
└──────────┘

sigmoid

sigmoid関数を返します。

構文

sigmoid(x)

パラメータ

  • x — 入力値。区間からの値: <x<+-\infty \lt x \lt +\infty(U)Int*Float*、またはDecimal*

返される値

  • シグモイド曲線に沿った0と1の間の対応する値。 Float64.

クエリ:

SELECT round(sigmoid(x), 5) FROM (SELECT arrayJoin([-1, 0, 1]) AS x);

結果:

0.26894
0.5
0.73106

degrees

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

構文

degrees(x)

引数

返される値

SELECT degrees(3.141592653589793);

結果:

┌─degrees(3.141592653589793)─┐
│                        180 │
└────────────────────────────┘

radians

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

構文

radians(x)

引数

返される値

  • ラジアンでの値。

タイプ: Float64.

SELECT radians(180);

結果:

┌──────radians(180)─┐
│ 3.141592653589793 │
└───────────────────┘

factorial

整数の階乗を計算します。UInt(8|16|32|64)およびInt(8|16|32|64)を含む任意のネイティブ整数型で動作します。返される型はUInt64です。

0の階乗は1です。同様に、factorial()関数は任意の負の値に対して1を返します。入力引数の最大正の値は20であり、21以上の値は例外を引き起こします。

構文

factorial(n)

SELECT factorial(10);

結果:

┌─factorial(10)─┐
│       3628800 │
└───────────────┘

width_bucket

operandが低い範囲から高い範囲までの等幅バケツcountのヒストグラムに落ちるバケツの番号を返します。operand < lowの場合は0を返し、operand >= highの場合はcount+1を返します。

operandlowhighは任意のネイティブ数値型であることができます。countは符号なしネイティブ整数のみに使用でき、その値はゼロにできません。

構文

widthBucket(operand, low, high, count)

エイリアス: WIDTH_BUCKET

SELECT widthBucket(10.15, -8.6, 23, 18);

結果:

┌─widthBucket(10.15, -8.6, 23, 18)─┐
│                               11 │
└──────────────────────────────────┘

proportionsZTest

二つの母集団xおよびyの割合を比較するための統計的検定である二項Z検定の検定統計量を返します。

構文

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
注記

引数pool_typeについて: プール版では、二つの割合が平均され、標準誤差の推定に一つの割合のみが使用されます。非プール版では、二つの割合が別々に使用されます。

返される値

  • z_stat: Z統計量。 Float64
  • p_val: P値。 Float64
  • ci_low: 下側信頼区間。 Float64
  • ci_high: 上側信頼区間。 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) │
└────────────────────────────────────────────────────────────────────────────────────┘