一 创建表tmp14,定义数据类型为INT的字段num,插入值64,对num值进行算术运算
首先创建表tmp14,输入语句如下:
mysql> CREATE TABLE tmp14 ( num INT);
Query OK, 0 rows affected (0.17 sec)
向字段num插入数据64:
mysql> INSERT INTO tmp14 value(64);
Query OK, 1 row affected (0.03 sec)
接下来,对num值进行加法和减法运算:
mysql> SELECT num, num+10, num-3+5, num+5-3, num+36.5 FROM tmp14;
+------+--------+---------+---------+----------+
| num | num+10 | num-3+5 | num+5-3 | num+36.5 |
+------+--------+---------+---------+----------+
| 64 | 74 | 66 | 66 | 100.5 |
+------+--------+---------+---------+----------+
1 row in set (0.00 sec)
由计算结果可以看到,可以对num字段的值进行加法和减法的运算,而且由于'+'和'-'的优先级相同,因此先加后减,或者先减后加之后的结果是相同的。
二 对tmp14表中的num进行乘法、除法运算
mysql> SELECT num, num *2, num /2, num/3, num%3 FROM tmp14;
+------+--------+---------+---------+-------+
| num | num *2 | num /2 | num/3 | num%3 |
+------+--------+---------+---------+-------+
| 64 | 128 | 32.0000 | 21.3333 | 1 |
+------+--------+---------+---------+-------+
1 row in set (0.02 sec)
由计算结果可以看到,对num进行除法运算时候,由于64无法被3整除,因此MySQL对num/3求商的结果保存到了小数点后面四位,结果为21.3333;64除以3的余数为1,因此取余运算num%3的结果为1。
在数学运算时,除数为0的除法是没有意义的,因此除法运算中的除数不能为0,如果被0除,则返回结果为NULL。
三 用0除num
mysql> SELECT num, num / 0, num %0 FROM tmp14;
+------+---------+--------+
| num | num / 0 | num %0 |
+------+---------+--------+
| 64 | NULL | NULL |
+------+---------+--------+
1 row in set, 2 warnings (0.00 sec)
由计算结果可以看到,对num进行除法求商或者求余运算的结果均为NULL。