本文将演示以下3个MySQL中的常用数值函数表4-2 MySQL中的常用数值函数
函数
功能
RAND()
返回0到1内的随机值
ROUND(x,y)
返回参数x的四舍五入的有y位小数的值
TRUNCATE(x,y)
返回数字x截断为y位小数的结果
下面将结合实例对这些函数进行介绍。
oRAND()函数:返回0到1内的随机值。每次执行结果都不一样。
利用此函数可以取任意指定范围内的随机数,比如需要产生0~100内的任意随机整数,可以操作如下:
示例2:
mysql> select ceil(100*rand()),ceil(100*rand());
+------------------+------------------+
| ceil(100*rand()) | ceil(100*rand()) |
+------------------+------------------+
| 91 | 15 |
+------------------+------------------+
1 row in set (0.00 sec)
oROUND(x,y)函数:返回参数x的四舍五入的有y位小数的值。如果是整数,将会保留y位数量的0;如果不写y,则默认y为0,即将x四舍五入后取整。适合于将所有数字保留同样小数位的情况。如下例所示。
示例3:
mysql> select ROUND(1.1),ROUND(1.1,2),ROUND(1,2);
+------------+--------------+------------+
| ROUND(1.1) | ROUND(1.1,2) | ROUND(1,2) |
+------------+--------------+------------+
| 1 | 1.10 | 1.00 |
+------------+--------------+------------+
1 row in set (0.00 sec)
oTRUNCATE(x,y)函数:返回数字x截断为y位小数的结果。注意TRUNCATE和ROUND的区别在于TRUNCATE仅仅是截断,而不进行四舍五入。下例中描述了二者的区别。
示例4:
mysql> select ROUND(1.235,2),TRUNCATE(1.235,2);
+----------------+-------------------+
| ROUND(1.235,2) | TRUNCATE(1.235,2) |
+----------------+-------------------+
| 1.24 | 1.23 |
+----------------+-------------------+
1 row in set (0.00 sec)