mysql 位運算 MySQL資料運算

2021-10-18 08:14:41 字數 3317 閱讀 2276

資料查詢不只是簡單地返回資料庫中儲存的資料,還要根據業務需求對資料進行運算和篩選,以及確定以什麼樣的形式顯示查詢結果。

通常情況下資料庫中的原始資料並不是我們所需要的,一般需要我們在查詢資料的同時對資料進行運算和轉換。語法

select 《表示式1>[,《表示式2>...《表示式n>] from 《表名》;
示例:將每位員工的底薪增加500元

mysql> select empno,ename,sal,sal+500 from emp;

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

| empno | ename | sal | sal+500 |

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

| 7369 | smith | 800 | 1300 |

| 7499 | allen | 1600 | 2100 |

| 7521 | ward | 1250 | 1750 |

| 7566 | jones | 2975 | 3475 |

| 7654 | martin | 1250 | 1750 |

| 7698 | blake | 2850 | 3350 |

| 7782 | clark | 2450 | 2950 |

| 7788 | scott | 3000 | 3500 |

| 7839 | king | 5000 | 5500 |

| 7844 | turner | 1500 | 2000 |

| 7876 | adams | 1100 | 1600 |

| 7900 | james | 950 | 1450 |

| 7902 | ford | 3000 | 3500 |

| 7934 | miller | 1300 | 1800 |

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

在mysql中使用運算子進行運算,mysql支援四種運算子,分別是算術運算子、比較運算子、邏輯運算子、位運算子。

sql中最基本的運算子,對數值型資料執行算術運算。

sql中最常用的運算子,用於比較或判斷。

等號「=」用來判斷數字、字串和表示式是否相等。如果相等,返回值為 1,否則返回值為 0。

用於比較兩個表示式的值。當兩個表示式彼此相等或都等於空值時,比較結果為1;若其中乙個是空值或者都是非空值但不相等時,則為0,不會出現null 的情況。

用於數字、字串、表示式不相等的判斷。如果不相等,返回值為1;否則返回值為0,不能用於判斷空值(null)。

用於檢驗乙個值是否為null,如果為null,返回值為1;否則返回值為0。

用於檢驗乙個值是否為非null,如果為非null,返回值為1;否則返回值為0。

語法:

《表示式》 between 《最小值》 and 《最大值》
若《表示式》大於或等於《最小值》,且小於或等於《最大值》,則 between 的返回值為 1;否則返回值為 0。

語法

least(《值1>,《值2>,…,《值n>)
存在兩個或多個引數的情況下,返回最小值。若任意乙個自變數為 null,則 least() 的返回值為 null。

語法

greatest (《值1>,《值2>,…,《值n>)
存在兩個或多個引數的情況下,返回最大值。若任意乙個自變數為 null,則 greatest() 的返回值為 null。

用來判斷運算元是否為 in 列表中的乙個值。如果是,返回值為 1;否則返回值為 0,不能用於判斷空值(null)。

用來判斷表示式是否為 in 列表中的乙個值。如果不是,返回值為 1;否則返回值為 0,不能用於判斷空值(null)。

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

當運算元為 0 時,返回值為 1;當運算元為非零值時,返回值為 0;當運算元為 null 時,返回值為 null。

當所有運算元均為非零值並且不為 null 時,返回值為 1;當乙個或多個運算元為 0 時,返回值為 0;其餘情況返回值為 null。

當兩個運算元均為非 null 值且任意乙個運算元為非零值時,結果為 1,否則結果為 0;當有乙個運算元為 null 且另乙個運算元為非零值時,結果為 1,否則結果為 null;當兩個運算元均為 null 時,所得結果為 null。

當任意乙個運算元為 null 時,返回值為 null;對於非 null 的運算元,若兩個運算元都不是 0 或者都是 0 值,則返回結果為 0;若乙個為 0,另乙個不為非 0,則返回結果為 1。

用來對二進位制位元組中的位進行移位或者測試。

將參與運算的兩個資料按對應的二進位制數逐位進行邏輯或運算。若對應的二進位制位有乙個或兩個為 1,則該位的運算結果為 1,否則為 0。

將參與運算的兩個資料按對應的二進位制數逐位進行邏輯與運算。若對應的二進位制位都為 1,則該位的運算結果為 1,否則為 0。

將參與運算的兩個資料按對應的二進位制數逐位進行邏輯異或運算。對應的二進位制位不同時,對應位的結果才為 1。如果兩個對應位都為 0 或者都為 1,則對應位的結果為 0。

使指定的二進位制值的所有位都左移指定的位數。左移指定位數之後,左邊高位的數值將被移出並丟棄,右邊低位空出的位置用 0 補齊。

語法:

表示式使指定的二進位制值的所有位都右移指定的位數。右移指定位數之後,右邊高位的數值將被移出並丟棄,左邊低位空出的位置用 0 補齊。語法

表示式》n

將參與運算的資料按對應的二進位制數逐位反轉,即 1 取反後變 0,0 取反後變為 1。

運算子的優先順序決定了不同的運算子在表示式中計算的先後順序。

mysql 位或 mysql 使用位運算

如果你不知道什麼是位運算的話,那麼請你先去看看基礎的c語言教程吧。與運算a b 或運算a b,異資料庫 如果你不知道什麼是位運算的話,那麼請你先去看看基礎的c語言教程吧。與運算 a b 或運算 a b 異或運算 a b 或者你也可以將 與運算理解為 法 例如1 2 3 1 2 3 1 2 4 7 1...

位 mysql 查詢 Mysql 查詢 按位運算

前言 雖說這是件小事兒,但本寶寶思前想後,還是為它留下一筆,嘿嘿。反正寫部落格不浪費紙和筆!好久沒有開啟我的逗比模式了,我親愛的乖徒弟dba,dbb,dbaa等,好久不見你們,遙祝幸福快樂 db。整個事情其實使這樣的,最近的專案中,有乙個表,最終是這樣的 一共 位,每一位的取值是 和 額,後來還有 ...

mysql 位或 MySQL 運算子

mysql 運算子 本章節我們主要介紹 mysql 的運算子及運算子的優先順序。mysql 主要有以下幾種運算子 算術運算子 比較運算子 邏輯運算子 位運算子 算術運算子 mysql 支援的算術運算子包括 運算子作用 加法 減法 乘法 或 div除法 或 mod取餘 在除法運算和模運算中,如果除數為...