(3)mysql 中的運算子

林灣村龍貓發表於2017-01-17

概述

MySQL支援多種型別的運算子,這些運算子可以用來連結表示式,這些運算子包括:

  • 算數運算子(+,-,*,/,%);
  • 比較運算子(=,!=,<,<=,>,>=,between,in,is null,is not null,like,regexp);
  • 邏輯運算子(not,and,or,xor);
  • 位運算子(&,|,^,~,>>,<<);

舉例

算數運算子

select 0.1+0.333,0.1-0.3333,1/2,1%2;複製程式碼

(3)mysql 中的運算子
結果

  • 在除法和模運算中,如果除數為0,結果會返回NULL;
  • 對於模運算,mod(a,b)函式與a%b效果一樣。

比較運算子

#between and
SELECT 10 BETWEEN 10 AND 20,
        9 BETWEEN 10 AND 20;
#like        
SELECT 123456 LIKE '123%',
       123456 LIKE '%123%',
       123456 LIKE '%321%';
#regexp
select 'abcdef' regexp 'ab',
       'abcdefg' regexp 'k';複製程式碼

(3)mysql 中的運算子
between

(3)mysql 中的運算子
like

(3)mysql 中的運算子
regexp

邏輯運算子

#not
select not 0,not 1,not null;
#and
select (1 and 1),(0 and 1),(3 and 1),(1 and null);
#or,xor(異或)同上使用複製程式碼

(3)mysql 中的運算子
not

(3)mysql 中的運算子
and

位運算子

select 2&3,2&3&4,2|3,2^3,~1;複製程式碼

(3)mysql 中的運算子
位運算

  • 位運算是將給定的運算元轉化為二進位制之後,對各個運算元每一位進行指定的邏輯運算。
  • 解釋:&-位與,|-位或,^-位異或,~-位取反,>>-位右移,<<-位左移。

運算子的優先順序

仍一張圖作為總結:

(3)mysql 中的運算子
mysql運算子優先順序

  • 在實際應用中,都是用“( )”來將需要優先的操作括起來,這樣既起到了優先作用,又使得其他使用者看起來更易於理解。

相關文章