Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Ảnh hưởng của thứ tự ưu tiên toán tử (operator precedence) trong MySQL

MySQL tuân theo thứ tự ưu tiên toán tử. Các toán tử cùng mức ưu tiên được tính từ trái sang phải.

Thứ tự ưu tiên (cao → thấp)

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

Ví dụ

mysql> SELECT 5 + 3 / 2 - 2;
+---------+
| 5+3/2-2 |
+---------+
| 4.5000  |
+---------+

Giải thích: / (chia) ưu tiên cao hơn + và -. Thứ tự tính: 3/2 = 1.5 → 5 + 1.5 = 6.5 → 6.5 - 2 = 4.5.

Mẹo: Dùng ngoặc đơn () để ép thứ tự tính toán rõ ràng, tránh nhầm lẫn.