MySQL知識(四) 運算子

2021-07-10 01:40:38 字數 4177 閱讀 1850

用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(%)。

mysql> select

9+4,9-4,9*4,9/4,9%4;

+-----+-----+-----+------+-----+

| 9+4 | 9-4 | 9*4 | 9/4 | 9%4 |

+-----+-----+-----+------+-----+

| 13 | 5 | 36 | 2.25 | 1 |

+-----+-----+-----+------+-----+

1 row in set

乙個比較運算子的結果總是1、0或者null,比較運算子經常在select的查詢條件子句中使用,用來查詢滿足制定條件的記錄。

運算子作用=等於

<=>

安全的等於

<>(!=)

不等於<=

小於等於

>=

大於等於

>

大於is [not] null

判斷乙個值是否(不)為null

[not] in

判斷乙個值(不)是in列表中的任意乙個值

between and

判斷乙個值是否落在兩個值之間

like

萬用字元匹配

regexp

正規表示式匹配

least

兩個或多個引數時,返回最小值

greatest

兩個或多個引數時,返回最大值

兩者的作用相同,唯一區別是<=>可以用來對null進行判斷,兩者都為null時返回值為1。

mysql> select

5=5,5

<=>9,null=null,null

<=>null;

+-----+-------+-----------+-------------+

| 5=5 | 5<=>9 | null=null | null<=>null |

+-----+-------+-----------+-------------+

| 1 | 0 | null | 1 |

+-----+-------+-----------+-------------+

1 row in set

mysql> select

5 between 3

and9,5 between 6

and9;

+-------------------+-------------------+

| 5 between 3 and 9 | 5 between 6 and 9 |

+-------------------+-------------------+

| 1 | 0 |

+-------------------+-------------------+

1 row in set

mysql> select

5in(1,3,5,'jtzen9') as col1,

-> 'jtzen9'

notin (1,3,5,'jtzen9') as col2;

+------+------+

| col1 | col2 |

+------+------+

| 1 | 0 |

+------+------+

1 row in set

(1)least(值1,值2,……,值n),返回最小值

(2)greatest(值1,值2,……,值n),返回最大值;任一變數為null,返回null。

mysql> select least(20.0,5,9) as col1,

-> least(10,null) as col2,

-> greatest(20.0,5,9) as col3,

-> greatest(20.0,null) as col4;

+------+------+------+------+

| col1 | col2 | col3 | col4 |

+------+------+------+------+

| 5 | null | 20 | null |

+------+------+------+------+

1 row in set

like運算子在進行匹配時,可以使用下面兩種萬用字元:

(1)『 % 』,匹配任何數目的字元,甚至包括零字元。

(2)『 _ 』,只匹配乙個字元。

mysql> select

'jtzen9'

like

'jtzen9'

as col1,

-> 'jtzen9'

like

'jtzen_'

as col2,

-> 'jtzen9'

like

'j%n9'

as col3,

-> 'jtzen9'

like

'jt____'

as col4,

-> 'jtzen9'

like

null

as col5;

+------+------+------+------+------+

| col1 | col2 | col3 | col4 | col5 |

+------+------+------+------+------+

| 1 | 1 | 1 | 1 | null |

+------+------+------+------+------+

1 row in set

regexp運算子在進行匹配時,常用的幾種萬用字元:

(1)『 ^ 』匹配以該字元後面的字元開頭的字串;

(2)『 $ 』匹配以該字元後面的字元結尾的字串;

(3)『 . 』匹配任何乙個單位元組;

(4)「[…]」匹配在方括號內的任何字元。例如,「[abc]」匹配「a」、「b」或「c」。為了命名字元的範圍,使用乙個『 - 』。「[a-z]」匹配任何字母,而「[0-9]」匹配任何數字;

(5)『 * 』匹配零個或多個在它前面的字元。例如,「x*」匹配任何數量的『x』字元,「[0-9]」匹配任何數量的數字,而「.」匹配任何數量的任何字元。

mysql> select

'ssky' regexp '^s'

as col1,

-> 'ssky' regexp 'y$'

as col2,

-> 'ssky' regexp '.sky'

as col3,

-> 'ssky' regexp '[ab]'

as col4;

+------+------+------+------+

| col1 | col2 | col3 | col4 |

+------+------+------+------+

| 1 | 1 | 1 | 0 |

+------+------+------+------+

1 row in set

在sql中,所有邏輯運算子的求值所得結果均為true、false或null。在mysql中,為1、0和null。

運算子作用

not 或者 !

邏輯非and 或者 &&

邏輯與or 或者 ||

邏輯或xor

邏輯異或

注意:and兩邊一定要使用空格隔開,不然會影響結果的正確性。

位運算子是用來對二進位制位元組中的位進行測試、移位或者測試處理。

運算子作用|位或

&位與^位異或

<<

位位右移~

位取反,反轉所有位元

在無法確定優先順序的情況下,可以使用圓括號()來改變優先順序,並且這樣會使計算過程更加清晰。

mysql運算子,比較運算子

我也是菜鳥,也是新手,一起學習,一起進步,加油 首先 比較運算子,進行比較之後的 結果如果為真 返回1,結果為假 返回 0 一下為常用的,最基礎的一些沒有列出來 或 不等於 null 的安全等於 null safe between 存在於指定範圍 in存在於指定集合 is null 為 null i...

mysql 運算子轉義 mysql常用運算子

一 算數運算子 加法 減法 乘法 除法 返回餘數 二 比較運算子 等於 或 不等於 等於 這裡是安全的等於 例如 select null null 結果是1,如果是select null null 結果是null,有時候會報錯程式 between 存在於指定範圍 舉例 select 10 betwe...

mysql 字串運算子 mysql 運算子

select version 算術運算子 加法 字串拼接要是用concat 減法 乘法 或 div 除法 或 mod 取餘 說明 在除法運算和模運算中,如果除數為0,將是非法除數,返回結果為null。比較運算子 說明 select 語句中的條件語句經常要使用比較運算子。通過這些比較運算子,可以判斷表...