MySQL 8.0 リファレンスマニュアル


第 12 章 関数と演算子

目次

12.1 SQL 関数および演算子リファレンス
12.2 ユーザー定義関数参照
12.3 式評価での型変換
12.4 演算子
12.4.1 演算子の優先順位
12.4.2 比較関数と演算子
12.4.3 論理演算子
12.4.4 割り当て演算子
12.5 フロー制御関数
12.6 数値関数と演算子
12.6.1 算術演算子
12.6.2 数学関数
12.7 日付および時間関数
12.8 文字列関数および演算子
12.8.1 文字列比較関数および演算子
12.8.2 正規表現
12.8.3 関数結果の文字セットと照合順序
12.9 MySQL で使用されるカレンダー
12.10 全文検索関数
12.10.1 自然言語全文検索
12.10.2 ブール全文検索
12.10.3 クエリー拡張を使用した全文検索
12.10.4 全文ストップワード
12.10.5 全文制限
12.10.6 MySQL の全文検索の微調整
12.10.7 全文インデックス付けのためのユーザー定義照合の追加
12.10.8 ngram 全文パーサー
12.10.9 MeCab フルテキストパーサープラグイン
12.11 キャスト関数と演算子
12.12 XML 関数
12.13 ビット関数と演算子
12.14 暗号化関数と圧縮関数
12.15 ロック関数
12.16 情報関数
12.17 空間分析関数
12.17.1 空間関数のリファレンス
12.17.2 空間関数による引数処理
12.17.3 WKT 値からジオメトリ値を作成する関数
12.17.4 WKB 値からジオメトリ値を作成する関数
12.17.5 ジオメトリ値を作成する MySQL 固有の関数
12.17.6 ジオメトリ形式変換関数
12.17.7 ジオメトリプロパティー関数
12.17.8 空間演算子関数
12.17.9 ジオメトリオブジェクト間の空間関係をテストする関数
12.17.10 空間 Geohash 関数
12.17.11 空間 GeoJSON 関数
12.17.12 空間集計関数
12.17.13 空間の便利な関数
12.18 JSON 関数
12.18.1 JSON 関数リファレンス
12.18.2 JSON 値を作成する関数
12.18.3 JSON 値を検索する関数
12.18.4 JSON 値を変更する関数
12.18.5 JSON 値属性を返す関数
12.18.6 JSON テーブル関数
12.18.7 JSON スキーマ検証関数
12.18.8 JSON ユーティリティ関数
12.19 グローバルトランザクション識別子 (GTID) で使用される機能
12.20 集計関数
12.20.1 集計関数の説明
12.20.2 GROUP BY 修飾子
12.20.3 MySQL での GROUP BY の処理
12.20.4 機能依存性の検出
12.21 ウィンドウ関数
12.21.1 Window 関数の説明
12.21.2 Window 関数の概念と構文
12.21.3 ウィンドウ機能フレーム仕様
12.21.4 名前付きウィンドウ
12.21.5 ウィンドウ機能の制限事項
12.22 パフォーマンススキーマ関数
12.23 内部関数
12.24 その他の関数
12.25 高精度計算
12.25.1 数値の型
12.25.2 DECIMAL データ型の特性
12.25.3 式の処理
12.25.4 丸め動作
12.25.5 高精度計算の例

SQL ステートメントのいくつかのポイント (SELECT ステートメントの ORDER BY または HAVING 句、SELECTDELETE、または UPDATE ステートメントの WHERE 句、SET ステートメントなど) では、式を使用できます。 式は、リテラル値、カラム値、NULL、組み込み関数、ストアドファンクション、ユーザー定義関数、および演算子を使用して作成できます。 この章では、MySQL で式を記述できる SQL 関数および演算子について説明します。 ストアドファンクションおよびユーザー定義関数を作成する手順については、セクション25.2「ストアドルーチンの使用」およびAdding Functions to MySQLで説明されています。 各種の関数への参照をサーバーが解釈する方法を記述したルールについては、セクション9.2.5「関数名の構文解析と解決」を参照してください。

NULL を含む式では、その関数または演算子に関するドキュメントで明記されていないかぎり、常に NULL 値が生成されます。

注記

デフォルトでは、関数名とそれに続く丸括弧の間には空白を入れることはできません。 これは、MySQL パーサーが、関数呼び出しと、偶然に関数と同じ名前を持つテーブルまたはカラムへの参照を区別するのに役立ちます。 ただし、関数の引数の前後にスペースを入れることは許可されています。

最初に --sql-mode=IGNORE_SPACE オプションを付けると、関数名のあとの空白文字を受け入れるように MySQL サーバーに指示できます。 (セクション5.1.11「サーバー SQL モード」を参照してください。) 各クライアントプログラムで mysql_real_connect()CLIENT_IGNORE_SPACE オプションを使用すると、この動作をリクエストできます。 どちらの場合でも、すべての関数名は予約語になります。

簡略化のため、この章で示すほとんどの例では、mysql プログラムからの出力が省略形で表示されています。 例は次の書式で表示されません。

mysql> SELECT MOD(29,9);
+-----------+
| mod(29,9) |
+-----------+
|         2 |
+-----------+
1 rows in set (0.00 sec)

代わりに、次の書式が使用されます。

mysql> SELECT MOD(29,9);
        -> 2

関連キーワード:  関数, 空間, リファレンス, 作成, 全文, ジオメトリ, 機能, ウィンドウ, ユーザー, 定義