MySQL(17)-----数值函数

MySQL中另一类很重要的函数就是数值函数,这些函数能处理很多数值方面的运算。

可以想象,如果没有这些函数的支持,我们在编写有关数值运算方面的代码时将会困难重重。举个栗子,如果没有ABS函数,要取一个数值的绝对值,就需要进行好多次判断才能返回这个值,而数值函数能够大大提高工作效率。

本节将配合一些实例对MySQL常用的函数进行详细的介绍。

数值函数

MySQL中的常用数值函数
函数 描述
ABS(x) 返回x的绝对值
CEIL(x) 返回大于x的最小整数值
FLOOR(x) 返回小于x的最大整数值
MOD(x, y) 返回x/y的值
RAND() 返回0~1内的随机值
ROUND(x, y) 返回参数x的四舍五入的有y位小数的值
TRUNCATE(x,y) 返回数字x截断为y位小数的结果

接下来,通过具体的实例来逐个地研究每个函数的用法


测试用例

ABS(x):返回x的绝对值。

  • SELECT ABS('-1'),  ABS('1');

CEIL(x):返回大于x的最小整数值 

  • SELECT CEIL(0.5),  CEIL(-0.5);

FLOOR(x)    返回小于x的最大整数值。

  • SELECT FLOOR(-0.8),FLOOR(0.8);
  • 用法刚好和CEIL(x)函数用法相反。

MOD(x, y)    返回x/y的值。

  • SELECT MOD(15,10), MOD(1,11), MOD(NULL,10);
  • 和x%y的结果相同,模数和被模数任何一个为NULL结果都为NULL

RAND()    返回0~1内的随机值。

  • SELECT RAND(), RAND(),RAND();

  •  该函数可以取任意指定范围内的随机数,比如需要产生0~100内的任意随机整数,可如下操作;
  • SELECT CEIL(100 * RAND()), CEIL(100 * RAND());

ROUND(x, y)    返回参数x的四舍五入的有y位小数的值。

  • 如果是整数,将保留y位数量的0;
  • 如果不写y,则默认y为0,即将x四舍五入后取整,适合于将所有数字保留同样小数位情况。
  • SELECT ROUND(1.1),ROUND(1.1,2),ROUND(1,2);

TRUNCATE(x,y)    返回数字x截断为y位小数的结果。

  • TRUNCATE和ROUND的区别在于TRUNCATE仅仅是截断,而不进行四舍五入。
  • SELECT ROUND(1.12345,4), TRUNCATE(1.12345, 4);


愿你就像早晨八九点钟的太阳,活力十足,永远年轻。

你可能感兴趣的:(#,MySQL从理论到实践,MySQL,MySQL数值函数)