目次
式は SQL
文のいくつかのポイントで使用するできます。例えば、SELECT
文の ORDER BY
句や HAVING
句、SELECT
文、DELETE
文、UPDATE
文の WHERE
句、または SET
文で使用することができます。式は、リテラル値やカラム値、NULL
、組み込み関数、ストアド
ファンクション、ユーザ定義の関数、そして演算子で書くことができます。この章は、MySQL
で式を書くことができる関数と演算子を説明します。ストアド
ファンクションおよびユーザ定義の関数の書き方は、章 17. ストアドプロシージャとファンクション
と 項25.3. 「Adding New Functions to MySQL」
にあります。サーバが、異なる関数の引用をどう解釈するかについてのルールは、項8.2.4. 「構文解析と解像度のファンクション名」
を参照してください。
NULL
を含む式は、その関数または演算子の資料で特別に説明されていない限り、常に
NULL
値を生成します。
注記 :デフォルトでは、関数名とそれに続く丸括弧 (()) の間にはスペースを入れないことになっています。これは、MySQL パーサが、関数呼び出しと、関数と同じ名前を持つテーブルまたはカラムの参照を区別するのに役立ちます。しかし、関数インスウの周りにスペースを入れることは許可されています。
MySQL
サーバが関数名の後のスペースを受け入れることは、--sql-mode=IGNORE_SPACE
オプションで開始することで分かります。(
項4.2.6. 「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
この章には多くの情報が含まれているため、特定の関数や演算子の情報を探すのは容易ではありません。情報の検索をより簡単にするため、各関数および演算子へのアンカーがこのマニュアルには加えられています。この資料の
HTML バージョンでは、目的の関数がどの HTML
ページに掲載されているかが分かれば、直接その関数へナビゲートすることができます。これは、#function_
を URL
に追加することで可能になります。例えば、この資料のオンライン
バージョンで function-name
DATE_FORMAT
関数の情報を探す場合は、日付時刻関数についての説明があるページに行き
(
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
) 、ウェブブラウザのアドレスバーのアドレスに
#function_date-format
を加えます。これで、DATE_FORMAT
関数に直接飛ぶことができます。資料を単一ページ
バージョンでダウンロードした場合は、単に適切なアンカーの引用を追加してください。これと同様の方法で、適切な
URL に
#operator_
を加えることによって、特定の演算子に飛ぶことも可能です。
operator-name