すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:数学計算関数

最終更新日:Aug 23, 2024

このトピックでは、数学計算関数の構文について説明します。 このトピックでは、関数の使用方法の例も示します。

次の表に、Simple Log Serviceでサポートされている数学的計算機能を示します。

説明
  • 次の演算子がサポートされています。

    +-*/%

    デフォルトでは、(/) 演算子を使用して計算を実行するたびに小数部が除外されます。 x * 1.0/y式を使用して、計算を実行するたびに小数部を保持できます。

  • 分析ステートメントで文字列を使用する場合は、文字列を単一引用符 ('') で囲む必要があります。 囲まれていない文字列または二重引用符 ("") で囲まれている文字列は、フィールド名または列名を示します。 例えば、 'status' はステータスの文字列を示し、status または "status" はステータスログフィールドを示します。

関数

構文

説明

SQLでサポート

SPLでサポート

abs関数

abs( x)

xの絶対値を計算します。

acos関数

acos( x)

xのアークコサインを計算します。

asin関数

asin( x)

xのアークサインを計算します。

atan関数

atan( x)

xのアークタンジェントを計算します。

atan2関数

atan2( x, y)

xyで割ったアークタンジェントを計算します。

cbrt関数

cbrt( x)

xの立方根を計算します。

ceil関数

ceil( x)

xを最も近い整数まで丸めます。

この関数は、天井関数のエイリアスです。

天井関数

天井 (x)

xを最も近い整数まで丸めます。

cos関数

cos( x)

xのコサインを計算します。

cosh関数

cosh( x)

xの双曲線余弦を計算します。

cosine_similarity関数

cosine_similarity( x, y)

xyのコサイン類似度を計算します。

×

度関数

度 (x)

ラジアン単位の角度を同等の度に変換します。

e関数

e()

自然対数の底であるeの値を返します。

exp関数

exp( x)

eをxの累乗に上げます。

×

フロア機能

フロア (x)

xを最も近い整数まで丸めます。

from_base関数

from_base( x, y)

xを基数yに変換します。

ln関数

ln( x)

xの自然対数を計算します。

無限関数

infinity()

正の無限を表す値を返します。

is_nan関数

is_nan( x)

xが非数値 (NaN) かどうかを判断します。

log2関数

log2( x)

xの底2の対数を計算します。

log10関数

log10( x)

xの10を底とする対数を計算します。

ログ関数

ログ (x, y)

xの底yの対数を計算します。

×

mod関数

mod( x, y)

xyで割った余りを計算します。

nan関数

nan()

NaNの値を返します。

pi関数

pi()

π の値を小数点以下15桁まで返します。

pow関数

pow( xy)

xyのべき乗に上げます。

この関数は、power関数のエイリアスです。

パワー機能

パワー (xy)

xyのべき乗に上げます。

ラジアン関数

ラジアン (x)

度単位の角度をラジアン単位の角度に変換します。

ランド関数

rand()

乱数を返します。

ランダム関数

random()

範囲 [0,1) の乱数を返します。

ランダム (x)

[0,x) の範囲の乱数を返します。

ラウンド関数

ラウンド (x)

xを最も近い整数に丸めます。

ラウンド (x, n)

xを小数点以下n桁の小数点以下の小数点以下に丸めます。

サイン関数

sign( x)

xの符号を返します。 有効な値: 1、0、および-1。

×

sin関数

sin( x)

xの正弦を計算します。

sqrt関数

sqrt( x)

xの平方根を計算します。

タン機能

tan( x)

xの正接を計算します。

tanh関数

tanh( x)

xの双曲正接を計算します。

to_base関数

to_base( x, y)

xをベースy文字列に変換します。

×

truncate関数

truncate( x)

xの小数部分を削除します。

width_bucket関数

width_bucke( x, bound1, bound2, numBuckets)

数値範囲を等しい幅のバケットに分割し、バケット番号xを返します。

×

width_bucke( xbins)

配列で指定されたバケットの範囲内のバケット数xを返します。

×

abs関数

abs関数はxの絶対値を計算します。

構文

abs(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、smallint、integer、real、tinyint、bigint、double、またはdecimal型です。

戻り値のデータ型

パラメーター値のデータ型と同じです。

-25の絶対値を計算します。

  • クエリ文

    * | select abs(-25)
  • クエリと分析結果 abs

acos関数

acos関数はxのアークコサインを計算します。

構文

acos(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。 有効な値: [-1,1] 。

値が [-1,1] の範囲外の場合、関数はNaNを返します。

戻り値のデータ型

ダブルタイプ。

45 ° の角度のアークコサインを計算します。

  • クエリ文

    * | SELECT acos(pi()/4)
  • クエリと分析結果 acos

asin関数

asin関数は、xのアークサインを計算します。

構文

asin(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。 有効な値: [-1,1] 。

値が [-1,1] の範囲外の場合、関数はNaNを返します。

戻り値のデータ型

ダブルタイプ。

45 ° の角度のアーク正弦を計算します。

  • クエリ文

    * | SELECT asin(pi()/4)
  • クエリと分析結果 acos

atan関数

atan関数は、xのアークタンジェントを計算します。

構文

atan(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

45 ° の角度のアークタンジェントを計算します。

  • クエリ文

    * | SELECT atan(pi()/4)
  • クエリと分析結果 atan

atan2関数

atan2関数は、xyで割ったアークタンジェントを計算します。

構文

atan2(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

y

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

30 ° の角度のアークタンジェントを計算します。

  • クエリ文

    * | SELECT atan2(pi(),6)
  • クエリと分析結果 atan2

cbrt関数

cbrt関数は、xの立方根を計算します。

構文

cbrt(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

100の立方根を計算します。

  • クエリ文

    * | select cbrt(100)
  • クエリと分析結果 cbrt

ceil関数

ceil関数は、xを最も近い整数まで丸めます。 この関数は、天井関数のエイリアスです。

構文

ceil(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、tinyint、smallint、integer、real、bigint、double、またはdecimal型です。

  • xの値が正の数の場合、関数は値を0から丸めます。

  • xの値が負数の場合、関数は値を0に丸めます。

戻り値のデータ型

パラメーター値のデータ型と同じです。

request_timeフィールドの値を最も近い整数まで丸めます。

  • サンプルフィールド

    request_time:9.3
  • クエリ文

    * | SELECT ceil(request_time) AS request_time
  • クエリと分析結果 ceiling

天井関数

天井関数は、xを最も近い整数まで丸めます。

構文

ceiling(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、tinyint、smallint、integer、real、bigint、double、またはdecimal型です。

  • xの値が正の数の場合、関数は値を0から丸めます。

  • xの値が負数の場合、関数は値を0に丸めます。

戻り値のデータ型

パラメーター値のデータ型と同じです。

request_timeフィールドの値を最も近い整数まで丸めます。

  • サンプルフィールド

    request_time:9.3
  • クエリ文

    * | SELECT ceiling(request_time) AS request_time
  • クエリと分析結果 ceiling

cos関数

cos関数はxのコサインを計算します。

構文

cos(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

30 ° の角度のコサインを計算します。

  • クエリ文

    * | SELECT cos(pi()/6)
  • クエリと分析結果 cos

cosh関数

cosh関数は、xの双曲線余弦を計算します。

構文

cosh(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

30 ° の角度の双曲線余弦を計算します。

  • クエリ文

    * | SELECT cosh(pi()/6)
  • クエリと分析結果 cosh

cosine_similarity関数

cosine_similarity関数は、xyの間のコサイン類似度を計算します。

構文

cosine_similarity(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はmap(varchar,double) 型です。

y

このパラメーターの値はmap(varchar,double) 型です。

戻り値のデータ型

ダブルタイプ。

2つのベクトル間のコサイン類似度を計算します。

  • クエリ文

    * | SELECT cosine_similarity(MAP(ARRAY['a'], ARRAY[1.0])), MAP(ARRAY['a'], ARRAY[2.0]))
  • クエリと分析結果 cosine_similarity

度関数

度関数は、ラジアン単位の角度を度単位の同等の角度に変換します。

構文

degrees(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

ラジアンの π を同等の度に変換します。

  • クエリ文

    * | SELECT degrees(pi())
  • クエリと分析結果 degrees

e関数

e関数は、自然対数の底であるeの値を返します。

構文

e()

戻り値のデータ型

ダブルタイプ。

eの値を取得します。

  • クエリ文

    * | SELECT e()
  • クエリと分析結果 e()

exp関数

exp関数はeをxの累乗に引き上げます。

構文

exp(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

eを3の力に上げます。

  • クエリ文

    * | SELECT exp (3)
  • クエリと分析結果 exp

フロア機能

floor関数は、xを最も近い整数に切り下げます。

構文

floor(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、tinyint、smallint、integer、real、bigint、double、またはdecimal型です。

  • xの値が正の数の場合、関数は値を0に丸めます。

  • xの値が負の数の場合、関数は値を0から丸めます。

戻り値のデータ型

ダブルタイプ。

request_timeフィールドの値を最も近い整数に丸めます。

  • サンプルフィールド

    request_time:10.3
  • クエリ文

    * | SELECT floor(request_time) AS request_time
  • クエリと分析結果 ceiling

from_base関数

from_base関数は、xを基数yに変換します。

構文

from_base(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はvarchar型です。

y

このパラメーターの値はbigint型です。 値は数値システムを指定します。 有効な値: [2,36] 。

戻り値のデータ型

bigint型。

文字列1101を数値に変換します。

  • クエリ文

    * | SELECT from_base('1101',2)
  • クエリと分析結果 from_base

ln関数

ln関数は、xの自然対数を計算する。

構文

ln(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。 値は0より大きくなければなりません。

戻り値のデータ型

ダブルタイプ。

2の自然対数を計算します。

  • クエリ文

    * | SELECT ln (2)
  • クエリと分析結果 ln

無限関数

infinity関数は、正の無限を表す値を返します。

構文

infinity()

戻り値のデータ型

ダブルタイプ。

正の無限大を表す値を取得します。

  • クエリ文

    * | SELECT infinity()
  • クエリと分析結果 infinity

is_nan関数

is_nan関数は、xがNaNかどうかを判断します。 はいの場合、関数はtrueを返します。

構文

is_nan(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ブール型。

statusフィールドの値がNaNかどうかを確認します。

  • クエリ文

    * | SELECT is_nan(status)
  • クエリと分析結果 is_nan

log2関数

log2関数は、xの底2の対数を計算します。

構文

log2(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

100の底2の対数を計算します。

  • クエリ文

    * | SELECT log2(100)
  • クエリと分析結果 log2

log10関数

log10関数は、xの10を底とする対数を計算します。

構文

log10(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

100の10を底とする対数を計算します。

  • クエリ文

    * | SELECT log10(100)
  • クエリと分析結果 log10

ログ関数

log関数は、xの底y対数を計算します。

構文

log(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

y

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

100の底5の対数を計算します。

  • クエリ文

    * | SELECT log(100,5)
  • クエリと分析結果 log

mod関数

mod関数は、xyで割った余りを計算します。

構文

mod(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値は、tinyint、smallint、integer、real、bigint、double、またはdecimal型です。

y

このパラメーターの値は、tinyint、smallint、integer、real、bigint、double、またはdecimal型です。

戻り値のデータ型

パラメーター値のデータ型と同じです。

100を30で割った余りを計算する。

  • クエリ文

    * | SELECT mod(100,30)
  • クエリと分析結果 mod

nan関数

nan関数はNaNの値を返します。

構文

nan()

戻り値のデータ型

ダブルタイプ。

NaNの値を取得します。

  • クエリ文

    * | SELECT nan()
  • クエリと分析結果 nan

pi関数

pi関数は、π の値を小数点以下15桁まで返します。

構文

pi()

戻り値のデータ型

ダブルタイプ。

小数点以下15桁までの π の値を取得します。

  • クエリ文

    * | SELECT pi()
  • クエリと分析結果 pi

pow関数

pow関数は、xyの累乗に引き上げます。 この関数は、power関数のエイリアスです。

構文

pow(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

y

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

2を5のパワーに上げます。

  • クエリ文

    * | SELECT pow(2,5)
  • クエリと分析結果 pow

パワー機能

べき乗関数は、xyのべき乗に引き上げます。

構文

power(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

y

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

2を5のパワーに上げます。

  • クエリ文

    * | SELECT power(2,5)
  • クエリと分析結果 pow

ラジアン関数

ラジアン関数は、度単位の角度をラジアン単位の角度に変換します。

構文

radians(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

180 ° の角度 (度) をラジアンに相当する角度に変換します。

  • クエリ文

    * | SELECT radians(180)
  • クエリと分析結果 radians

rand関数

rand関数は乱数を返します。

構文

rand()

戻り値のデータ型

ダブルタイプ。

乱数を取得します。

  • クエリ文

    * | select rand()
  • クエリと分析結果 rand

ランダム関数

ランダム関数は [0,x) の範囲の乱数を返します。

構文

  • 次の構文を使用すると、関数は [0,1] の範囲の乱数を返します。

    random()
  • 次の構文を使用すると、関数は [0,x) の範囲の乱数を返します。

    random(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、tinyint、smallint、integer、またはbigint型です。

戻り値のデータ型

パラメーター値のデータ型と同じです。

[0,100] の範囲の乱数を取得します。

  • クエリ文

    * | select random(100)
  • クエリと分析結果 random

ラウンド関数

ラウンド関数は、xを最も近い整数または小数に丸めます。 nを指定した場合、関数は小数点以下n桁を保持します。 nを指定しない場合、関数はxを最も近い整数に丸めます。

構文

  • 次の構文を使用する場合、関数はxを最も近い整数に丸めます。

    round(x)
  • 次の構文を使用する場合、関数はxを小数点以下n桁の最も近い10進数に丸めます。

    round(x, n)

パラメーター

パラメーター

説明

x

このパラメーターの値は、tinyint、smallint、integer、またはbigint型です。

n

このパラメーターは、関数が保持する小数点以下の桁数を指定します。

戻り値のデータ型

パラメーター値のデータ型と同じです。

当日のページビュー (PV) 数と前日のPV数を比較します。 次に、比較結果をパーセンテージとして提示する。

  • クエリ文

    * | SELECT diff [1] AS today, round((diff [3] -1.0) * 100, 2) AS growth FROM (SELECT compare(pv, 86400) as diff FROM (SELECT COUNT(*) as pv FROM website_log))
  • クエリと分析結果 round

サイン関数

sign関数はxの符号を返します。 有効な値: 1、0、および-1。

構文

sign(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、integer、smallint、tinyint、real、double、bigint、またはdecimal(p、s) 型です。

  • xが正の数の場合、関数は1を返します。

  • xが0の場合、関数は0を返します。

  • xが負の数の場合、関数は-1を返します。

戻り値のデータ型

パラメーター値のデータ型と同じです。

10のサインを取得します。

  • クエリ文

    * | SELECT sign(10)
  • クエリと分析結果 sign

sin関数

sin関数はxの正弦を計算します。

構文

sin(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

90 ° の角度の正弦を計算します。

  • クエリ文

    * | select sin(pi()/2)
  • クエリと分析結果 sin

sqrt関数

sqrt関数は、xの平方根を計算します。

構文

sqrt(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

100の平方根を計算します。

  • クエリ文

    * | select sqrt(100)
  • クエリと分析結果 sqrt

タン関数

tan関数はxのタンジェントを計算します。

構文

tan(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

30 ° の角度のタンジェントを計算します。

  • クエリ文

    * | SELECT tan(pi()/6)
  • クエリと分析結果 tan

tanh関数

tanh関数は、xの双曲正接を計算します。

構文

tanh(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

30 ° の角度の双曲正接を計算します。

  • クエリ文

    * | SELECT tanh(pi()/6)
  • クエリと分析結果 tanh

to_base関数

to_base関数は、xをbase y文字列に変換します。

構文

to_base(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はbigint型です。

y

このパラメーターの値はbigint型です。 値は数値システムを指定します。 有効な値: [2,36] 。

戻り値のデータ型

varcharタイプ。

180をバイナリ文字列に変換します。

  • クエリ文

    * | SELECT to_base(180, 2)
  • クエリと分析結果 to_base

truncate関数

truncate関数は、xの小数部分を削除します。

構文

truncate(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

戻り値のデータ型

ダブルタイプ。

11.11の小数部分を削除します。

  • クエリ文

    * | SELECT truncate(11.11)
  • クエリと分析結果 truncate

width_bucket関数

width_bucket関数は、バケット番号xを返します。

構文

  • 次の構文を使用する場合、関数は数値範囲を同じ幅のバケットに分割し、バケット番号xを返します。

    width_bucket(x、bound1、bound2、numBuckets)
  • 次の構文を使用すると、配列で指定されたバケットの範囲内のバケット番号xが返されます。

    width_bucket(x、bins)

パラメーター

パラメーター

説明

x

このパラメーターの値はdouble型です。

bound1

このパラメータは、数値範囲の下限を指定します。

bound2

このパラメータは、数値範囲の上限を指定します。

numBuckets

このパラメータは、バケットの数を指定します。 値は0より大きい整数でなければなりません。

ビン

このパラメータは、バケットの範囲を指定します。 値はdouble型の配列です。

戻り値のデータ型

bigint型。

説明
  • xが範囲内の場合、関数はバケット番号xを返します。

  • xが下限を下回る場合、関数は0を返します。

  • xが上限を超えている場合、関数はnumBuckets + 1を返します。

  • 例1: 範囲 [10,80] を7つのバケットに分割します。 次に、request_timeフィールドの各値のバケット番号を取得します。

    • クエリ文

      * | SELECT request_time, width_bucket(request_time, 10, 80,7) AS numBuckets
    • クエリと分析結果  width_bucket

  • 例2: 配列を使用して7つのバケットの範囲を指定します。 次に、request_timeフィールドの各値のバケット番号を取得します。

    • クエリ文

      * | SELECT request_time, width_bucket(request_time, array[10,20,30,40,50,60,70,80]) AS numBuckets
    • クエリと分析結果 width_bucket