新聞中心
算術(shù)運(yùn)算符是 SQL 中最基本的運(yùn)算符, MySQL 支持的運(yùn)算符包括加、減、乘、除和取余運(yùn)算,它們是最常用、最簡單的一類運(yùn)算符。下表列出了這些運(yùn)算符的作用和使用方法。

| 運(yùn)算符 | 作用 | 使用方法 |
|---|---|---|
| + | 加法運(yùn)算 | 用于獲得一個(gè)或多個(gè)值的和 |
| - | 減法運(yùn)算 | 用于從一個(gè)值中減去另一個(gè)值 |
| * | 乘法運(yùn)算 | 使數(shù)字相乘,得到兩個(gè)或多個(gè)值的乘積 |
| / | 除法運(yùn)算,返回商 | 用一個(gè)值除以另一個(gè)值得到商 |
| %,MOD | 求余運(yùn)算,返回余數(shù) | 用一個(gè)值除以另一個(gè)值得到余數(shù) |
示例 1
創(chuàng)建表 temp,定義數(shù)據(jù)類型為 INT 的字段 num,并插入值 64,對 num 值進(jìn)行算術(shù)運(yùn)算。
創(chuàng)建 temp 表語法如下:
CREATE TABLE temp(num INT);
向字段 num 插入數(shù)據(jù) 64,語法如下。
INSERT INTO temp VALUE (64);
對 num 的值進(jìn)行加法和減法運(yùn)算:
mysql> SELECT num,num+10,num-3+5,num+36.5 FROM temp; +------+--------+---------+----------+ | num | num+10 | num-3+5 | num+36.5 | +------+--------+---------+----------+ | 64 | 74 | 66 | 100.5 | +------+--------+---------+----------+ 1 row in set (0.01 sec)
上面計(jì)算是對 temp 表中的 num 字段的值進(jìn)行加法和減法的運(yùn)算,而且由于+和-的優(yōu)先級相同,因此先加后減或者先減后加之后的結(jié)果是相同的。
示例 2
下面對 temp 表中的 num 進(jìn)行乘法、除法運(yùn)算,運(yùn)行結(jié)果如下:
mysql> SELECT num,num*2,num/2,num/3,num%3 FROM temp; +------+-------+---------+---------+-------+ | num | num*2 | num/2 | num/3 | num%3 | +------+-------+---------+---------+-------+ | 64 | 128 | 32.0000 | 21.3333 | 1 | +------+-------+---------+---------+-------+ 1 row in set (0.00 sec)
由上面計(jì)算結(jié)果可以看出,對 num 進(jìn)行除法運(yùn)算時(shí),由于 64 無法被 3 整除,因此 MySQL 對 num/3 求商的結(jié)果保存到了小數(shù)點(diǎn)后面四位,結(jié)果為 21.3333;64 除以 3 的余數(shù)為 1,因此取余運(yùn)算 num%3 的結(jié)果為 1。
對于取余運(yùn)算,還可以使用 MOD(a,b) 函數(shù),MOD(a,b) 相當(dāng)于 a%b,運(yùn)行結(jié)果如下:
mysql> SELECT MOD (num,3) FROM temp; +-------------+ | MOD (num,3) | +-------------+ | 1 | +-------------+ 1 row in set (0.00 sec)
示例 3
數(shù)學(xué)運(yùn)算中,除數(shù)為 0 的除法是沒有意義的。所以在除法運(yùn)算和取余運(yùn)算中,如果除數(shù)為 0,那么返回結(jié)果為 NULL.
在除法運(yùn)算和取余運(yùn)算中,除數(shù)為 0 的運(yùn)行結(jié)果如下所示:
mysql> SELECT num,num/0,num%0 FROM temp; +------+-------+-------+ | num | num/0 | num%0 | +------+-------+-------+ | 64 | NULL | NULL | +------+-------+-------+ 1 row in set (0.00 sec)
從上面運(yùn)行結(jié)果可以看到,對 num 進(jìn)行除法求商或者求余運(yùn)算的結(jié)果均為 NULL。
當(dāng)前名稱:創(chuàng)新互聯(lián)數(shù)據(jù)庫教程:MySQL算術(shù)運(yùn)算符
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/dhjjsdj.html


咨詢
建站咨詢
