目次
式は SQL
ステートメントのいくつかのポイントで使用できます。たとえば、SELECT
ステートメントの ORDER BY
節や HAVING
節、SELECT
ステートメント、DELETE
ステートメント、UPDATE
ステートメントの
WHERE
節、または
SET
ステートメントで使用することができます。式は、リテラル値やカラム値、NULL
、組み込み関数、ストアドファンクション、ユーザー定義の関数、そして演算子で書くことができます。この章は、MySQL
で式を書くことができる関数と演算子を説明します。ストアドファンクションおよびユーザー定義の関数の書き方は、Using Stored Routines (Procedures and Functions)
と Adding New Functions to MySQL
にあります。サーバーの異なる種類の機能に対するリファレンスの解釈を説明した規則は、項5.2.4. 「関数名の構文解析と解決」
を参照してください。
NULL
を含む式は、その関数または演算子の資料で特別に説明されていないかぎり、常に
NULL
値を生成します。
デフォルトでは、関数名とそれに続く丸括弧の間にはスペースを入れないことになっています。これは、MySQL パーサーが、関数呼び出しと、関数と同じ名前を持つテーブルまたはカラムの参照を区別するのに役立ちます。しかし、関数インスウの周りにスペースを入れることは許可されています。
MySQL
サーバーが関数名の後のスペースを受け入れることは、--sql-mode=IGNORE_SPACE
オプションで開始することで分かります。詳細は、Server SQL Modes
を参照してください。各クライアントプログラムは、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