Operator Precedence
Operator precedences are shown in the following list, from highest precedence to the lowest. Operators that are shown together on a line have the same precedence.
| From highest precedence to the lowest | Operators |
|---|---|
| 1 | INTERVAL |
| 2 | BINARY, COLLATE |
| 3 | ! |
| 4 | - (unary minus), ~ (unary bit inversion) |
| 5 | ^ |
| 6 | *, /, DIV, %, MOD |
| 7 | -, + |
| 8 | <<, >> |
| 9 | & |
| 10 | | |
| 11 | = (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, , IN, MEMBER OF |
| 12 | BETWEEN, CASE, WHEN, THEN, ELSE |
| 13 | NOT |
| 14 | AND, && |
| 15 | XOR |
| 16 | OR, || |
| 17 | = (assignment) |
The precedence of = depends on whether it is used as a comparison operator (=) or as an assignment operator (=). When used as a comparison operator, it has the same precedence as , >=, >, <=, <, <>, !=, IS, LIKE, and IN().
For operators that occur at the same precedence level within an expression, evaluation proceeds left to right, with the exception that assignments evaluate right to left.