目次
- 12.1 関数と演算子のリファレンス
- 12.2 式評価での型変換
- 12.3 演算子
- 12.4 制御フロー関数
- 12.5 文字列関数
- 12.6 数値関数と演算子
- 12.7 日付および時間関数
- 12.8 MySQL で使用されるカレンダー
- 12.9 全文検索関数
- 12.10 キャスト関数と演算子
- 12.11 XML 関数
- 12.12 ビット関数
- 12.13 暗号化関数と圧縮関数
- 12.14 情報関数
- 12.15 空間分析関数
- 12.16 グローバルトランザクション ID とともに使用される関数
- 12.17 MySQL Enterprise Encryption の関数
- 12.18 その他の関数
- 12.19 GROUP BY 句で使用される関数と修飾子
- 12.20 高精度計算
SQL
ステートメントのいくつかのポイント
(SELECT
ステートメントの
ORDER BY
または HAVING
句、SELECT
、DELETE
、または
UPDATE
ステートメントの
WHERE
句、SET
ステートメントなど)
では、式を使用できます。式は、リテラル値、カラム値、NULL
、組み込み関数、ストアドファンクション、ユーザー定義関数、および演算子を使用して作成できます。この章では、MySQL
で式を記述する際に許可されている関数および演算子について説明します。ストアドファンクションおよびユーザー定義関数を作成する手順については、セクション20.2「ストアドルーチン (プロシージャーと関数) の使用」およびセクション24.3「MySQL への新しい関数の追加」で説明されています。各種の関数への参照をサーバーが解釈する方法を記述したルールについては、セクション9.2.4「関数名の構文解析と解決」を参照してください。
NULL
を含む式では、その関数または演算子に関するドキュメントで明記されていないかぎり、常に
NULL
値が生成されます。
デフォルトでは、関数名とそれに続く丸括弧の間には空白を入れることはできません。これは、MySQL パーサーが、関数呼び出しと、偶然に関数と同じ名前を持つテーブルまたはカラムへの参照を区別するのに役立ちます。ただし、関数の引数の前後にスペースを入れることは許可されています。
最初に --sql-mode=IGNORE_SPACE
オプションを付けると、関数名のあとの空白文字を受け入れるように
MySQL
サーバーに指示できます。(セクション5.1.7「サーバー 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