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


9.5 式の構文

次のルールによって、MySQL での式の構文が定義されます。ここで示す文法は、MySQL ソース配布の sql/sql_yacc.yy ファイルで与えられた文法に基づいています。一部の条件に関する追加情報については、文法のあとに表示される注意事項を参照してください。

expr:
    expr OR expr
  | expr || expr
  | expr XOR expr
  | expr AND expr
  | expr && expr
  | NOT expr
  | ! expr
  | boolean_primary IS [NOT] {TRUE | FALSE | UNKNOWN}
  | boolean_primary

boolean_primary:
    boolean_primary IS [NOT] NULL
  | boolean_primary <=> predicate
  | boolean_primary comparison_operator predicate
  | boolean_primary comparison_operator {ALL | ANY} (subquery)
  | predicate

comparison_operator: = | >= | > | <= | < | <> | !=

predicate:
    bit_expr [NOT] IN (subquery)
  | bit_expr [NOT] IN (expr [, expr] ...)
  | bit_expr [NOT] BETWEEN bit_expr AND predicate
  | bit_expr SOUNDS LIKE bit_expr
  | bit_expr [NOT] LIKE simple_expr [ESCAPE simple_expr]
  | bit_expr [NOT] REGEXP bit_expr
  | bit_expr

bit_expr:
    bit_expr | bit_expr
  | bit_expr & bit_expr
  | bit_expr << bit_expr
  | bit_expr >> bit_expr
  | bit_expr + bit_expr
  | bit_expr - bit_expr
  | bit_expr * bit_expr
  | bit_expr / bit_expr
  | bit_expr DIV bit_expr
  | bit_expr MOD bit_expr
  | bit_expr % bit_expr
  | bit_expr ^ bit_expr
  | bit_expr + interval_expr
  | bit_expr - interval_expr
  | simple_expr

simple_expr:
    literal
  | identifier
  | function_call
  | simple_expr COLLATE collation_name
  | param_marker
  | variable
  | simple_expr || simple_expr
  | + simple_expr
  | - simple_expr
  | ~ simple_expr
  | ! simple_expr
  | BINARY simple_expr
  | (expr [, expr] ...)
  | ROW (expr, expr [, expr] ...)
  | (subquery)
  | EXISTS (subquery)
  | {identifier expr}
  | match_expr
  | case_expr
  | interval_expr

注:

演算子の優先順位については、セクション12.3.1「演算子の優先順位」を参照してください。

リテラル値の構文については、セクション9.1「リテラル値」を参照してください。

識別子の構文については、セクション9.2「スキーマオブジェクト名」を参照してください。

変数には、ユーザー変数、システム変数、ストアドプログラムのローカル変数またはパラメータがあります。

param_marker は、準備されたステートメントでプレースホルダーに使用されているように ? です。セクション13.5.1「PREPARE 構文」を参照してください。

(subquery) は、単一の値を返すサブクエリー、つまりスカラーサブクエリーを示します。セクション13.2.10.1「スカラーオペランドとしてのサブクエリー」を参照してください。

{identifier expr} は、ODBC エスケープ構文であり、ODBC との互換性のために認められています。値は expr です。構文内のカールした中括弧は文字どおりに書き込まれる必要があります。それらは構文説明の別の部分で利用されているようなメタ構文ではありません。

match_exprMATCH 式を示します。セクション12.9「全文検索関数」を参照してください。

case_exprCASE 式を示します。セクション12.4「制御フロー関数」を参照してください。

interval_expr は時間間隔を表します。構文は INTERVAL expr unit です。ここで unitHOURDAYWEEK などの指定子です。unit 指定子の完全なリストについては、セクション12.7「日付および時間関数」DATE_ADD() 関数の説明を参照してください。

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

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

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

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


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.