このトピックでは、PolarDB for Oracleでサポートされている数学関数と演算子について説明します。
数学演算子は、多くのOracleタイプに提供されます。 日付型や時刻型などの標準的な数学的規則のない型の場合、これらの型の実際の動作については後続のセクションで説明します。
次の表に、標準の数値型で使用できる数学演算子を示します。 特に指定のない限り、numeric_typeを受け入れると示される演算子は、smallint、integer、bigint、numeric、real、およびdouble precision型で使用できます。 integral_typeを受け入れると示される演算子は、smallint型、integer型、およびbigint型で使用できます。 注記がない限り、演算子の各形式は、その引数と同じデータ型を返します。 integer + numericなどの複数の引数データ型を含む呼び出しは、これらのリストの後半に表示される型を使用して解決されます。
数学演算子
加算
|
Unary plus (操作なし)
|
減算
|
否定
|
乗算
|
除算 (整数型の場合、除算は結果をゼロに切り捨てる)
|
モジュロ (剰余);
|
指数化 (典型的な数学的実践とは異なり、
|
スクエアルート → |
キューブルート
|
Factorial (廃止され、
|
プレフィックス演算子として使用されるFactorial (廃止され、
|
絶対値
|
ビット単位で
|
ビット単位または
|
ビット単位の排他的OR
|
ビット単位ではない
|
ビット単位の左シフト
|
ビット単位の右シフト
|
次の表に、利用可能な数学関数を示します。 これらの関数の多くは、異なる引数型を持つ複数の形式で提供されます。 指定されている場合を除き、任意の形式の関数は引数と同じデータ型を返します。 クロスタイプのケースは、演算子について上で説明したのと同じ方法で解決されます。 倍精度のデータを扱う関数は、ほとんどがホストシステムのCライブラリの上部に実装されています。 したがって、境界の場合の精度と動作は、ホストシステムによって異なります。
数学関数
絶対値
|
キューブルート
|
引数以上の最も近い整数
|
引数以上の最も近い整数 (
|
ラジアンを度に変換する
|
|
指数 (
|
ファクトリアル
|
引数以下の最も近い整数 →
|
最大の公約数 (両方の入力を剰余なしで除算する最大の正の数) 。 この関数は、両方の入力がゼロの場合に
|
最小公倍数 (両方の入力の整数倍である最小の厳密に正の数) 。 この関数は、いずれかの入力がゼロの場合に
|
自然対数
|
ベース10対数
|
基底10対数 (
|
|
指定された値を正確に表すために必要な最小スケール (小数点以下の桁数)
|
|
π の近似値
|
|
度をラジアンに変換する
|
最も近い整数に丸める
|
|
引数のスケール (小数部の10進数) → |
引数の符号 (-1、0、または + 1)
|
スクエアルート
|
末尾のゼロを削除して、引数のスケール (小数点以下の桁数) を小さくします。
|
整数に切り捨てる (ゼロに向かって)
|
|
|
バケットの下限をリストする指定された配列に
|
次の表に、乱数の生成に使用される関数を示します。
ランダム関数
0.0以上1.0未満のランダムな値を返します。
|
|
random() 関数は、単純な線形共役アルゴリズムを使用します。 高速ですが、暗号化アプリケーションには適していません。 より安全な代替手段の詳細については、pgcryptoモジュールをご参照ください。 setseed() 関数が呼び出された場合、現在のセッション内のrandom() 関数に対する一連の後続の呼び出しに対して返された結果は、同じ引数でsetseed() を再発行することによって複製できます。
次の表に、使用可能な三角関数を示します。 これらの関数にはそれぞれ2つのバリエーションがあります。 1つのバリエーションは角度をラジアンで測定し、もう1つは角度を度で測定します。
三角関数
逆コサイン、ラジアンの結果
|
逆コサイン、結果は度
|
逆正弦、ラジアンの結果
|
逆正弦、度で結果
|
逆タンジェント、結果はラジアン
|
逆タンジェント、結果は度
|
|
|
コサイン、ラジアンの引数
|
コサイン、度の引数
|
Cotangent、ラジアンでの議論
|
コタンジェント、度での議論
|
Sine、ラジアンの引数
|
Sine、度での引数
|
タンジェント、ラジアンの引数
|
タンジェント、度で引数
|
度で測定された角度で作業するもう1つの方法は、前述の単位変換関数radian () とdegrees() を使用することです。 ただし、sind(30) などの特殊な場合の丸め誤差を避けるために、次数ベースの三角関数を使用することをお勧めします。
次の表に、使用可能な双曲線関数を示します。
双曲線関数
双曲正弦
|
双曲余弦
|
双曲正接
|
逆hyperbolic sine
|
逆hyperbolic cosine
|
逆hyperbolic tangent
|
PEMAINDER
説明
この関数を使用して、n1 /n2の余りを返します。
構文
PEMAINDER(n1,n2)Parameters
パラメーター | 説明 |
n1 | 被除数。NUMBER、FLOAT、BINARY_FLOAT、およびBINARY_DOUBLE数値型の式です。 |
n2 | NUMBER、FLOAT、BINARY_FLOAT、およびBINARY_DOUBLE数値型の式であり、0にすることはできません。 |
戻り値のデータ型
戻り値の型は、数値の優先順位が高い引数のデータ型と同じです。
例
<bx id="1" type="code" text="code code=" SELECT REMAINDER(3.5,1);
残り
-----------
-0.5 "id=" vagfxr "title=" "uuid=" ljmryenjhxjcpy8hcev "data-tag=" codeblock "outputclass=" language-sql ""/>SELECT REMAINDER(3.5、1);
残り
-----------
-0.5