MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL演算子の優先順位は結果セットにどのように影響しますか?


MySQLは演算子の優先順位に従い、次の演算子のリストがあり、同じ行に同じ優先順位があります-

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

式内で同じ優先順位レベルで発生する演算子の場合、評価は左から右に進みます。

以下は、結果セットに対する演算子の優先順位の影響を示す例です-

mysql> Select 5+3/2-2;
+---------+
| 5+3/2-2 |
+---------+
| 4.5000  |
+---------+
1 row in set (0.00 sec)

上記の評価では、MySQLは最初に/(div)を評価します。これは、+(加算)または–(減算)よりも優先順位が高いためです。


  1. MySQLの結果セットを指定されたものと同じにする方法は?

    これには、MySQL FIND_IN_SET()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1563    -> (    -> StudentId int,    -> StudentName varchar(20)    -> ); Query OK, 0 rows affected (0.52 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into De

  2. MySQLでSET演算子によって初期化されたすべての変数を一覧表示するにはどうすればよいですか?

    SET演算子によって初期化されたすべての変数を一覧表示するには、構文は次のとおりです- select * from performance_schema.user_variables_by_thread; 変数を設定するためのクエリは次のとおりです- mysql> set @FirstName='John'; Query OK, 0 rows affected (0.00 sec) mysql> set @LastName='Doe'; Query OK, 0 rows affected (0.00 sec) これは、SET演算子によって初期化さ