本文将演示以下3个 中的常用数值函数表4-2 MySQL中的常用数值函数
函数 | 功能 |
RAND() | 返回0到1内的随机值 |
ROUND(x,y) | 返回参数x的四舍五入的有y位小数的值 |
TRUNCATE(x,y) | 返回数字x截断为y位小数的结果 |
下面将结合实例对这些函数进行介绍。
:返回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) |
:返回参数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) |
:返回数字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) |