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

IoT Platform:数学関数

最終更新日:Nov 10, 2025

このトピックでは、データ分析機能でサポートされている数学関数の構文、パラメーター、および例について説明します。ビジネス要件に基づいて数学関数を選択し、データを計算したり、データ型を変換したりできます。

関数説明
ABS絶対値を計算します。
ASIN逆正弦を計算します。
COS余弦を計算します。
COSH双曲線余弦を計算します。
CEIL数値を切り上げて、最も近い整数値を返します。
EXP指数値を計算します。
FLOOR数値を切り下げて、最も近い整数値を返します。
LOG対数を計算します。
POW値の n 乗を計算します。
RAND乱数を返します。
ROUND指定された小数点以下の桁数に丸めた値を返します。
SIN正弦を計算します。
SINH双曲線正弦を計算します。
SQRT平方根を計算します。
TAN正接を計算します。
TANH双曲線正接を計算します。
TRUNC入力値を指定された小数点以下の桁数に切り捨てます。
HEX整数または文字列を 16 進数に変換します。
PIπ の値を計算します。
UNHEX16 進数の文字列を文字列に変換します。

ABS

  • 構文
    double abs(double <number>)
    bigint abs(bigint <number>)
    decimal abs(decimal <number>)
  • 説明

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

  • パラメーター
    number: 必須。 number が DOUBLE、BIGINT、または DECIMAL 型の場合、同じ型の値が返されます。
    • number が BIGINT 型の場合、戻り値は BIGINT 型です。
    • number が DOUBLE 型の場合、戻り値は DOUBLE 型です。
    • number が DECIMAL 型の場合、戻り値は DECIMAL 型です。
    • number が STRING 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。
    • 入力値が null に設定されている場合、null が返されます。
    • number が上記の型以外のデータ型の場合、エラーが返されます。
    説明 入力値が BIGINT 型で、BIGINT 型の最大値より大きい場合、DOUBLE 型の値が返されます。ただし、精度は失われる可能性があります。
  • 戻り値

    戻り値の型は入力値の型によって異なり、DOUBLE、BIGINT、または DECIMAL のいずれかになります。

  • -- 戻り値は NULL です。
        abs(null);
    
    -- 戻り値は 1 です。
        abs(-1);
    
    -- 戻り値は 1.2 です。
        abs(-1.2);
    
    -- 戻り値は 2.0 です。
        abs("-2");
    
    -- 1.2232083745629837E32 という値が返されます。
        abs(122320837456298376592387456923748);

ASIN

  • 構文
    double asin(double <number>)
    decimal asin(decimal <number>)
  • 説明

    number の逆正弦を計算します。

  • パラメーター

    number: 必須。値は DOUBLE または DECIMAL 型で、-1 から 1 の範囲です。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。値の範囲は -π/2 から π/2 です。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 1.5707963267948966 です。
        asin(1);
    -- 戻り値は 1.5707963267948966 です。
        asin(-1);

CEIL

  • 構文
    bigint ceil(double <value>)
    bigint ceil(decimal <value>)
  • 説明

    value を切り上げて、最も近い整数を返します。

  • パラメーター

    value: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    BIGINT 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 2 です。
        ceil(1.1);
    -- 戻り値は -1 です。
        ceil(-1.1);

COS

  • 構文
    double cos(double <number>)
    decimal cos(decimal <number>)
  • 説明

    ラジアン値である number の余弦を計算します。

  • パラメーター

    number: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 2.6794896585028633e-8 です。
        cos(3.1415926/2);
    
    -- 戻り値は -0.9999999999999986 です。
        cos(3.1415926);

COSH

  • 構文
    double cosh(double <number>)
    decimal cosh(decimal <number>)
  • 説明

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

  • パラメーター

    number: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 2.5091784169949913 です。
        cosh(3.1415926/2);

EXP

  • 構文
    double exp(double <number>)
    decimal exp(decimal <number>)
  • 説明

    number の指数値を計算します。

  • パラメーター

    number: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 4.810477252069109 です。
        exp(3.1415926/2);

FLOOR

  • 構文
    bigint floor(double <number>)
    bigint floor(decimal <number>)
  • 説明

    number を切り下げて、number の値以下の最も近い整数を返します。

  • パラメーター

    number: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    BIGINT 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 1 です。
        floor(1.2);
    
    -- 戻り値は 0 です。
        floor(0.1);
    
    -- 戻り値は -2 です。
        floor(-1.2);
    
    -- 戻り値は -1 です。
        floor(-0.1);
    
    -- 戻り値は 0 です。
        floor(0.0);
    
    -- 戻り値は 0 です。
        floor(-0.0);

LOG

  • 構文
    double log(double <base>, double <x>)
    decimal log(decimal <base>, decimal <x>)
  • 説明

    底が base である x の対数を計算します。

  • パラメーター
    • base: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。
    • x: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。
  • 戻り値
    DOUBLE または DECIMAL 型の対数値が返されます。
    • 入力パラメーターが null に設定されている場合、null が返されます。
    • 入力値が負の値または 0 の場合、エラーが返されます。
    • base の値が 1 の場合、エラーが返されます。値 1 はゼロ除算を引き起こします。
  • -- 戻り値は 4.0 です。
        log(2, 16);

POW

  • 構文
    double pow(double <x>, double <y>)
    decimal pow(decimal <x>, decimal <y>)
  • 説明

    xy 乗、つまり x^y を計算します。

  • パラメーター
    • x: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。
    • y: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。
  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 65536.0 です。
        pow(2, 16);

RAND

  • 構文
    double rand(bigint <seed>)
  • 説明

    DOUBLE 型の乱数を返します。値の範囲は 0 から 1 です。

  • パラメーター

    seed: オプション。値は BIGINT 型です。このパラメーターは、乱数の生成の開始点を決定する乱数シードを指定します。

    説明 seed を使用して乱数シーケンスを決定できます。 seed が決定されると、この関数の戻り値は固定されます。
  • 戻り値

    DOUBLE 型の値が返されます。

  • -- 戻り値は 4.7147460303803655E-4 です。
        rand();
    -- 戻り値は 0.7308781907032909 です。
        rand(1);

ROUND

  • 構文
    double round(double <number>[, bigint <decimal_places>])
    decimal round(decimal <number>[, bigint <decimal_places>])
  • 説明

    指定された小数点以下の桁数に丸めた数値を返します。

  • パラメーター
    • number: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。
    • decimal_places: オプション。値は BIGINT 型の定数です。値は指定された小数点以下の桁数に丸められます。別のデータ型の場合、エラーが返されます。このパラメーターを指定しない場合、数値は一の位に丸められます。デフォルト値は 0 です。
      説明 decimal_places の値は負にすることができます。負の値は、小数点から左に数えることを示し、小数部分は除外されます。 decimal_places が整数部分の長さを超える場合、0 が返されます。
  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 125.0 です。
        round(125.315);
    -- 戻り値は 125.3 です。
        round(125.315, 1);
    -- 戻り値は 125.32 です。
        round(125.315, 2);
    -- 戻り値は 125.315 です。
        round(125.315, 3);
    -- 戻り値は -125.32 です。
        round(-125.315, 2);
    -- 戻り値は 100.0 です。
        round(123.345, -2);
    -- 戻り値は null です。
        round(null);
    -- 戻り値は 123.345 です。
        round(123.345, 4);
    -- 戻り値は 0.0 です。
        round(123.345, -4);

SIN

  • 構文
    double sin(double <number>)
    decimal sin(decimal <number>)
  • 説明

    ラジアン値である number の正弦を計算します。

  • パラメーター

    number: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は -0.3048106211022167 です。
        sin(60);

SINH

  • 構文
    double sinh(double <number>)
    decimal sinh(decimal <number>)
  • 説明

    number の双曲線正弦を計算します。

  • パラメーター

    number: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 5.343237290762231E12 です。
        sinh(30);

SQRT

  • 構文
    double sqrt(double <number>)
    decimal sqrt(decimal <number>)
  • 説明

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

  • パラメーター

    number: 必須。入力値が DOUBLE または DECIMAL 型の場合、値は 0 より大きい必要があります。そうでない場合、例外が返されます。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 2.0 です。
        sqrt(4);

TAN

  • 構文
    double tan(double <number>)
    decimal tan(decimal <number>)
  • 説明

    ラジアン値である number の正接を計算します。

  • パラメーター

    number: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は -6.405331196646276 です。
        tan(30);

TANH

  • 構文
    double tanh(double <number>)
    decimal tanh(decimal <number>)
  • 説明

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

  • パラメーター

    number: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。

  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は 1.0 です。
    tanh(30);

TRUNC

  • 構文
    double trunc(double <number>[, bigint <decimal_places>])
    decimal trunc(decimal <number>[, bigint <decimal_places>])
  • 説明

    number の入力値を、指定された小数点以下の桁数に切り捨てます。

  • パラメーター
    • number: 必須。DOUBLE または DECIMAL 型の値。入力値が STRING または BIGINT 型の場合、計算前に DOUBLE 型の値に暗黙的に変換されます。入力値が別のデータ型の場合、エラーが返されます。
    • decimal_places: オプション。値は BIGINT 型の定数です。このパラメーターは、数値が切り捨てられる位置を指定します。値が別のデータ型の場合、BIGINT 型の値に変換されます。このパラメーターを指定しない場合、数値は一の位に切り捨てられます。
      説明 decimal_places は負の値にすることができ、これは数値が小数点から左に切り捨てられ、小数部分は除外されることを示します。 decimal_places が整数部分の長さを超える場合、0 が返されます。
  • 戻り値

    DOUBLE または DECIMAL 型の値が返されます。入力パラメーターが null に設定されている場合、null が返されます。

    説明
    • DOUBLE 型の値が返される場合、戻り値が正しく表示されないことがあります。この問題はすべてのシステムに存在します。詳細については、この例の trunc(125.815,1) をご参照ください。
    • 数値は、指定された位置からゼロで埋められます。
  • -- 戻り値は 125.0 です。
        trunc(125.815,0);
    -- 戻り値は 125.80000000000001 です。
        trunc(125.815,1);
    -- 戻り値は 125.81 です。
        trunc(125.815,2);
    -- 戻り値は 125.815 です。
        trunc(125.815,3);
    -- 戻り値は -125.81 です。
        trunc(-125.815,2);
    -- 戻り値は 120.0 です。
        trunc(125.815,-1);
    -- 戻り値は 100.0 です。
        trunc(125.815,-2);
    -- 戻り値は 0.0 です。
        trunc(125.815,-3);
    -- 戻り値は 123.345 です。
        trunc(123.345,4);
    -- 戻り値は 0.0 です。
        trunc(123.345,-4);

HEX

  • 構文
    string hex(bigint <number>) 
    string hex(string <number>)
    string hex(binary <number>)
  • 説明

    整数または文字列を 16 進数に変換します。

  • パラメーター

    number: 必須。 number が BIGINT 型の場合、16 進数の number が返されます。 number が STRING 型の場合、16 進数形式の文字列が返されます。

  • 戻り値
    • 入力値が 0 または null でない場合、STRING 型の値が返されます。
    • 入力値が 0 の場合、0 が返されます。
    • 入力値が null に設定されている場合、エラーが返されます。
  • -- 戻り値は 0 です。
        hex(0);
    -- 戻り値は 616263 です。
        hex('abc');
    -- 戻り値は 11 です。
        hex(17);
    -- 戻り値は 3137 です。
        hex('17');
    -- エラーが返されます。
        hex(null);

UNHEX

  • 構文
    binary unhex(string <number>)
  • 説明

    16 進数の文字列を文字列に変換します。

  • パラメーター

    number: 必須。値は 16 進数の文字列です。

  • 戻り値

    BINARY 型の値が返されます。入力値が 0 の場合、エラーが返されます。入力パラメーターが null に設定されている場合、null が返されます。

  • -- 戻り値は abc です。
        unhex('616263');
    -- 戻り値は abc です。
        unhex(616263);

PI

  • 構文
    double pi()
  • 説明

    π の値を計算します。

  • 戻り値

    DOUBLE 型の値が返されます。

  • -- 戻り値は 3.141592653589793 です。
        pi();