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

Hologres:数学関数

最終更新日:Aug 04, 2026

Hologres は、次の数学関数をサポートしています。 ここに記載されていない関数については、PostgreSQL 11 ドキュメントの 数学関数と演算子 をご参照ください。

説明

このトピックの出力例では、psql クライアントのデフォルトの表示精度 (extra_float_digits = 0) を使用しています。 浮動小数点の結果として表示される桁数は、クライアントの extra_float_digits 設定によって異なりますが、基になる値は同じです。

一般的な数学関数

関数 説明
ABS 数値の絶対値を返します。
CBRT 数値の立方根を返します。
CEIL 数値を最も近い整数に切り上げます。 CEILING のエイリアスです。
CEILING 数値を最も近い整数に切り上げます。 CEIL のエイリアスです。
DEGREES ラジアンを度に変換します。
EXP e を数値で累乗した値 (e^num) を返します。
FLOOR 数値を最も近い整数に切り捨てます。
LN 数値の自然対数を返します。
LOG 10 を底とする数値の対数を返します。
MOD ある数値を別の数値で割ったときの剰余を返します。
PI π の値 (3.14159265358979) を返します。
POWER a を b で累乗した値を返します。
RADIANS 度をラジアンに変換します。
RANDOM [0.0, 1.0) の範囲で乱数を返します。
ROUND 数値を最も近い整数、または指定された小数点以下の桁数に丸めます。
SIGN 数値の符号 (1、-1、または 0) を返します。
SQRT 数値の平方根を返します。
TRUNC 数値を整数または指定された小数点以下の桁数に切り捨てます。
WIDTH_BUCKET 値を等幅のバケットのいずれかに割り当て、バケット番号を返します。

三角関数

関数 説明
ACOS 数値の逆余弦を返します。
ASIN 数値の逆正弦を返します。
ATAN 数値の逆正接を返します。
ATAN2 y/x の逆正接を返します。
COS 数値の余弦を返します。
COT 数値の余接を返します。
SIN 数値の正弦を返します。
TAN 数値の正接を返します。

ABS

数値の絶対値を返します。

構文

ABS(num)

パラメーター

パラメーター 必須 型 説明
num はい INT、BIGINT、REAL、DOUBLE PRECISION、NUMERIC、または DECIMAL 入力数値。

戻り値

入力と同じ型の値を返します。

例

SELECT ABS(-17.4);
 abs
-----
 17.4

CBRT

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

構文

CBRT(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION 入力数値。

戻り値

DOUBLE PRECISION 型の値を返します。

例

SELECT CBRT(9);
      cbrt
-----------------
 2.0800838230519

CEIL

数値を最も近い整数に切り上げます。 CEIL は CEILING のエイリアスです。

構文

CEIL(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION または NUMERIC 入力数値。

戻り値

入力と同じ型の値を返します。

例

SELECT CEIL(9.2);
 ceil
------
   10

関連情報

CEILING、FLOOR、ROUND、TRUNC

CEILING

数値を最も近い整数に切り上げます。 CEILING は CEIL のエイリアスです。

構文

CEILING(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION または NUMERIC 入力数値。

戻り値

入力と同じ型の値を返します。

例

SELECT CEILING(9.2);
 ceiling
---------
      10

関連情報

CEIL、FLOOR、ROUND、TRUNC

DEGREES

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

構文

DEGREES(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION ラジアン単位の入力値。

戻り値

度に相当する角度を表す DOUBLE PRECISION 型の値を返します。

例

SELECT DEGREES(3.2);
      degrees
--------------
 183.34649444186343

関連情報

RADIANS

EXP

e を num で累乗した値 (e^num) を返します。

構文

EXP(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION または NUMERIC 指数。

戻り値

入力と同じ型の値を返します。

例

SELECT EXP(1);
             exp
----------------
 2.718281828459045

FLOOR

数値を最も近い整数に切り捨てます。

構文

FLOOR(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION または NUMERIC 入力数値。

戻り値

入力と同じ型の値を返します。

例

SELECT FLOOR(3.8);
 floor
------
     3

関連情報

CEIL、CEILING、ROUND、TRUNC

LN

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

構文

LN(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION または NUMERIC 入力数値。

戻り値

入力と同じ型の値を返します。

例

SELECT LN(3.8);
            ln
----------------
 1.3350010667323401

LOG

10 を底とする数値の対数を返します。

構文

LOG(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION または NUMERIC 入力数値。

戻り値

入力と同じ型の値を返します。

例

SELECT LOG(100);
 log
-----
   2

MOD

num を x で割ったときの剰余を返します。

構文

MOD(num, x)

パラメーター

パラメーター 必須 型 説明
num はい NUMERIC 被除数。
x はい NUMERIC 除数。

戻り値

入力と同じ型の値を返します。

例

SELECT MOD(9, 4);
 mod
-----
   1

PI

π の値を返します。

構文

PI()

戻り値

DOUBLE PRECISION 型の値 3.14159265358979 を返します。

例

SELECT PI();
        pi
------------------
 3.14159265358979

POWER

a を b で累乗した値を返します。

構文

POWER(a, b)

パラメーター

パラメーター 必須 型 説明
a はい DOUBLE PRECISION 底。
b はい DOUBLE PRECISION 指数。

戻り値

DOUBLE PRECISION 型の値を返します。

例

SELECT POWER(9, 3);
 power
-------
   729

RADIANS

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

構文

RADIANS(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION 度単位の入力値。

戻り値

ラジアンに相当する角度を表す DOUBLE PRECISION 型の値を返します。

例

SELECT RADIANS(45);
       radians
-------------------
 0.785398163397448

関連情報

DEGREES

RANDOM

[0.0, 1.0) の範囲でランダムな DOUBLE PRECISION 型の値を返します。

構文

RANDOM()

戻り値

DOUBLE PRECISION 型の値を返します。 有効値: [0.0, 1.0)。

例

SELECT RANDOM();
      random
-------------------
 0.377819478977472

ROUND

数値を最も近い整数、または指定された小数点以下の桁数に丸めます。

構文

-- 最も近い整数に丸める
ROUND(num)

-- 小数点以下 s 桁に丸める
ROUND(num, s)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION または NUMERIC (単一引数形式) 、NUMERIC のみ (2 引数形式) 入力数値。
s いいえ INT 丸める小数点以下の桁数。

戻り値

num と同じ型の値を返します。

例

SELECT ROUND(42.4);
 round
-------
    42

関連情報

CEIL、CEILING、FLOOR、TRUNC

SIGN

数値の符号を返します: 正の場合は 1、負の場合は -1、ゼロの場合は 0 です。

構文

SIGN(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION または NUMERIC 入力数値。

戻り値

1、-1、または 0 を返します。

例

SELECT SIGN(-8.4);
 sign
------
   -1

SQRT

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

構文

SQRT(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION または NUMERIC 入力数値。

戻り値

入力と同じ型の値を返します。

例

SELECT SQRT(2);
      sqrt
-----------------
 1.4142135623731

TRUNC

数値をゼロに向かって切り捨て、小数部を破棄します。

構文

-- 整数に切り捨てる
TRUNC(num)

-- 小数点以下 s 桁に切り捨てる
TRUNC(num, s)

パラメーター

パラメーター 必須 型 説明
num はい NUMERIC 入力数値。
s いいえ INT 保持する小数点以下の桁数。

戻り値

NUMERIC 型の値を返します。

例

SELECT TRUNC(2.456);
 trunc
-------
     2
SELECT TRUNC(2.4564, 2);
 trunc
-------
  2.45

関連情報

CEIL、CEILING、FLOOR、ROUND

WIDTH_BUCKET

範囲を等幅のバケットに分割し、値が分類されるバケット番号を返します。

構文

WIDTH_BUCKET(value, start, end, num_buckets)

パラメーター

パラメーター 必須 型 説明
value はい DOUBLE PRECISION または NUMERIC バケットに割り当てる値。
start はい DOUBLE PRECISION または NUMERIC 範囲の下限。
end はい DOUBLE PRECISION または NUMERIC 範囲の上限。
num_buckets はい INT 作成する等幅バケットの数。

戻り値

INT 型の値を返します。

例

次の例では、0~100 の範囲を 5 つの等しいバケット (0~20、20~40、40~60、60~80、80~100) に分割し、値 45 のバケット番号を返します。

SELECT WIDTH_BUCKET(45, 0, 100, 5);
 width_bucket
--------------
            3

値 45 はバケット 3 (範囲 40~60) に分類されます。

ACOS

num の逆余弦を返します。

構文

ACOS(num)

パラメーター

パラメーター 必須 型 説明
num はい NUMERIC 入力値。 有効値: [-1, 1]。

戻り値

DOUBLE PRECISION 型の値を返します。

例

SELECT ACOS(-1);
       acos
------------------
 3.14159265358979

関連情報

ASIN、ATAN、ATAN2、COS

ASIN

num の逆正弦を返します。

構文

ASIN(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION 入力値。 有効値: [-1, 1]。

戻り値

DOUBLE PRECISION 型の値を返します。

例

SELECT ASIN(-1);
       asin
------------------
 -1.5707963267949

関連情報

ACOS、ATAN、ATAN2、SIN

ATAN

num の逆正接を返します。

構文

ATAN(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION 入力値。

戻り値

DOUBLE PRECISION 型の値を返します。

例

SELECT ATAN(2);
       atan
------------------
 1.10714871779409

関連情報

ACOS、ASIN、ATAN2、TAN

ATAN2

y/x の逆正接を返します。両方の引数の符号を使用して正しい象限を決定します。

構文

ATAN2(y, x)

パラメーター

パラメーター 必須 型 説明
y はい DOUBLE PRECISION y 座標。
x はい DOUBLE PRECISION x 座標。

戻り値

DOUBLE PRECISION 型の値を返します。

例

SELECT ATAN2(4, 2);
      atan2
------------------
 1.10714871779409

関連情報

ATAN

COS

num (ラジアン単位の入力) の余弦を返します。

構文

COS(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION ラジアン単位の入力角度。

戻り値

DOUBLE PRECISION 型の値を返します。

例

SELECT COS(2);
        cos
--------------------
 -0.416146836547142

関連情報

ACOS、SIN、TAN

COT

num (ラジアン単位の入力) の余接を返します。

構文

COT(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION ラジアン単位の入力角度。

戻り値

DOUBLE PRECISION 型の値を返します。

例

SELECT COT(2);
        cot
--------------------
 -0.457657554360286

関連情報

TAN

SIN

num (ラジアン単位の入力) の正弦を返します。

構文

SIN(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION ラジアン単位の入力角度。

戻り値

DOUBLE PRECISION 型の値を返します。

例

SELECT SIN(2);
        sin
-------------------
 0.909297426825682

関連情報

ASIN、COS、TAN

TAN

num (ラジアン単位の入力) の正接を返します。

構文

TAN(num)

パラメーター

パラメーター 必須 型 説明
num はい DOUBLE PRECISION ラジアン単位の入力角度。

戻り値

DOUBLE PRECISION 型の値を返します。

例

SELECT TAN(2);
        tan
-------------------
 -2.18503986326152

関連情報

ATAN、ATAN2、COT、SIN、COS