常常發現很多基礎的知識才是最重要的,是我們修復Bug的利器。
#MySQL運算符的優先級
運算符的優先級決定了不同的運算符在表達式中計算的先后順序。
MySQL中所有運算符的優先級的順序按照從高到低,從上到下,依次降低。一般情況下,級別高的運算符先進行計算,如果級別相同,MySQL按照表達式的順序從左到右依次計算。
MySQL運算符的優先級如下:
優先級 運算符 (最高) ! 3 -(負號),~(按位取反) 4 ^(按位異或) 5 *,/(DIV),%(MOD) 6 +,- 7 >>,<< 8 & 9 | 10 =(比較運算),<=>,<,<=,>,>=,!=,<>,IN,IS NULL,LIKE,REGEXP 11 BETWEEN AND,CASE,WHEN,THEN,ELSE 12 NOT 13 &&,AND 14 XOR 15 ||,OR
(最低) =(賦值運算),:=
我們可以看出,不同運算符的優先級是不同的。在無法確定優先級的情況下,可以使用圓括號()來改變優先級,並且這樣會使計算過程更加清晰。