Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.1Mb
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  演算子の優先順位

12.3.1 演算子の優先順位

次のリストには、演算子の優先順位をもっとも高いものから順番に示しています。同じ行に並んで記載されている演算子は、優先順位が同じものです。

INTERVAL
BINARY, COLLATE
!
- (unary minus), ~ (unary bit inversion)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
= (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
&&, AND
XOR
||, OR
= (assignment), :=

= の優先順位は、比較演算子 (=) として使用されるのか、割り当て演算子 (=) として使用されるのかによって異なります。比較演算子として使用される場合は、優先順位が <=>>=><=<<>!=ISLIKEREGEXP、および IN と同じです。割り当て演算子として使用される場合は、優先順位が := と同じです。セクション13.7.4「SET 構文」およびセクション9.4「ユーザー定義変数」では、適用される = の解釈が MySQL でどのように決定されるのかについて説明されています。

一部の演算子の意味は、SQL モードによって異なります。

  • デフォルトでは、|| は論理 OR 演算子です。PIPES_AS_CONCAT が有効になっている場合は、||^ と単項演算子間の優先順位を持つ文字列連結です。

  • デフォルトでは、!NOT よりも高い優先順位です。HIGH_NOT_PRECEDENCE が有効になっている場合は、!NOT の優先順位は同じです。

セクション5.1.7「サーバー SQL モード」を参照してください。

演算子の優先順位によって、式の項の評価順序が決まります。この順序をオーバーライドし、明示的に項をグループ化するには、丸括弧を使用します。例:

mysql> SELECT 1+2*3;
        -> 7
mysql> SELECT (1+2)*3;
        -> 9

User Comments
Sign Up Login You must be logged in to post a comment.