目次
- 12.1 SQL 関数および演算子リファレンス
- 12.2 ユーザー定義関数参照
- 12.3 式評価での型変換
- 12.4 演算子
- 12.5 フロー制御関数
- 12.6 数値関数と演算子
- 12.7 日付および時間関数
- 12.8 文字列関数および演算子
- 12.9 MySQL で使用されるカレンダー
- 12.10 全文検索関数
- 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.19 グローバルトランザクション識別子 (GTID) で使用される機能
- 12.20 集計関数
- 12.21 ウィンドウ関数
- 12.22 パフォーマンススキーマ関数
- 12.23 内部関数
- 12.24 その他の関数
- 12.25 高精度計算
SQL ステートメントのいくつかのポイント (SELECT
ステートメントの ORDER BY
または HAVING
句、SELECT
、DELETE
、または 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