この章では、OceanBaseデータベースのMySQLモードに組み込まれている関数について説明します。
スカラー関数
スカラー関数とは、主に単一の結果を返す関数を指します。これには日付時刻関数、文字列関数、変換関数、数学関数、比較関数、およびプロセス制御関数が含まれます。
集約関数
集約関数は、一連の値に対して計算を実行し、単一の値を返します。集約関数はNULL値を無視します。集約関数は通常、SELECT ステートメントの GROUP BY 句と一緒に使用されます。
すべての集約関数は決定性を持っています。指定された入力値のセットを使用して呼び出される場合、常に同じ値を返します。
OceanBaseデータベースの集約関数では、値式は1つしか存在できません。例えば、COUNT(c1, c2) はサポートされず、COUNT(c1) のみがサポートされています。
分析関数
分析関数(一部のデータベースではウィンドウ関数とも呼ばれる)は、集約関数と似ていますが、計算は常に一連の行の集合に基づいています。違いは、集約関数は1行しか返せないのに対し、分析関数は各グループで複数の行を返すことができ、グループ内の各行はウィンドウに基づく論理的な計算の結果です。分析関数は、Self-Joinを必要とするクエリを大幅に最適化できます。
「ウィンドウ」はFrameとも呼ばれ、OceanBaseデータベースは ROWS と RANGE の2種類のFrameセマンティクスをサポートしています。前者は物理的な行オフセットに基づくウィンドウであり、後者は論理的な値オフセットに基づくウィンドウです。
暗号化関数
暗号化関数は、データの暗号化と復号化に使用され、主に暗号化関数と復号化関数が含まれます。
情報関数
情報関数は、指定されたシステム情報を返すために使用されます。
JSON関数
JSON関数は、JSON値の作成、操作、検索などの操作を行います。
XML関数
XML関数は、XMLデータの処理と分析に使用されます。
空間関数
空間関数は、空間データの処理と分析に使用され、地理空間データと組み合わせて使用することができます。
ロック関数
ロック関数は、ロックの操作に使用されます。
ビットマップ関数
ビットマップ関数は、効率的に圧縮されたビットマップデータを処理する関数です。
配列関数
配列関数は、配列データの処理と分析に使用されます。
その他の関数
その他の関数には、分類しにくい関数が主に含まれます。