数值函数:

  用来处理很多数值方面的运算,使用数值函数,可以免去很多繁杂的判断求值的过程,能够大大提高用户的工作效率。

1、ABS(x):返回 x 的绝对值

mysql> select abs(-0.8),abs(0.8);
+-----------+----------+
| abs(-0.8) | abs(0.8) |
+-----------+----------+
| 0.8 | 0.8 |
+-----------+----------+

2、CEIL(x):返回不小于 x 的最小整数,也就是说得大于或等于x的最小整数

  同义词:ceiling(x)

mysql> select ceil();
+---------+
| ceil() |
+---------+
| |
+---------+ mysql> select ceil(1.23),ceiling(-1.23);
+------------+----------------+
| ceil(1.23) | ceiling(-1.23) |
+------------+----------------+
| | - |
+------------+----------------+

3、FLOOR(x):返回不大于 x 的最大整数(与CEIL的用法刚好相反)

mysql> select floor(1.23),floor(-1.23);
+-------------+--------------+
| floor(1.23) | floor(-1.23) |
+-------------+--------------+
| | - |
+-------------+--------------+

4、MOD(x,y):返回数字x除以y后的余数:x mod y

  和 x%y 的结果相同;

  模数和被模数任何一个为NULL(无效数)结果都为 NULL

mysql> select mod(,),%, mod ;
+-------------+-------+---------+
| mod(,) | % | mod |
+-------------+-------+---------+
| | | |
+-------------+-------+---------+

注意:余数可以有小数;除数为0不抛出异常

mysql> select mod(3.14,),mod(,);
+-------------+----------+
| mod(3.14,) | mod(,) |
+-------------+----------+
| 0.14 | NULL |
+-------------+----------+

5、ROUND(X[,D]):将数字X四舍五入到指定的小数位数D

  ①如果不指定D,则默认为0

  ②如果D是负数,表示从小数点的左边进行四舍五入

mysql> select round(1.58),round(1.298,);
+-------------+----------------+
| round(1.58) | round(1.298,) |
+-------------+----------------+
| | 1.3 |
+-------------+----------------+ mysql> select round(1.58,),round(1.298,-);
+---------------+-----------------+
| round(1.58,) | round(1.298,-) |
+---------------+-----------------+
| | |
+---------------+-----------------+

6、TRUNCATE(X,D):将数字X截断到指定的小数位数D(不四舍五入)

  ①如果D为0,表示不要小数

  ②如果D是负数,表示从小数点的左边进行截断

mysql> select truncate(1.999,),truncate(1.999,);
+-------------------+-------------------+
| truncate(1.999,) | truncate(1.999,) |
+-------------------+-------------------+
| 1.9 | |
+-------------------+-------------------+ mysql> select truncate(-1.999,),truncate(,-);
+--------------------+------------------+
| truncate(-1.999,) | truncate(,-) |
+--------------------+------------------+
| -1.9 | |
+--------------------+------------------+

注意:TRUNCATE 和 ROUND 的区别在于 TRUNCATE 仅仅是截断,而不进行四舍五入

mysql> select round(1.235,),truncate(1.235,);
+----------------+-------------------+
| round(1.235,) | truncate(1.235,) |
+----------------+-------------------+
| 1.24 | 1.23 |
+----------------+-------------------+

7、RAND():返回一个随机浮点数v(0<=v<1.0)

mysql> select rand(),rand();
+--------------------+---------------------+
| rand() | rand() |
+--------------------+---------------------+
| 0.7085628693071779 | 0.19879874978102627 |
+--------------------+---------------------+

RAND(x):指定整数x,则用作种子值,产生一个可重复的数字序列

mysql> select rand(),rand(),rand();
+---------------------+--------------------+---------------------+
| rand() | rand() | rand() |
+---------------------+--------------------+---------------------+
| 0.40540353712197724 | 0.6555866465490187 | 0.40540353712197724 |
+---------------------+--------------------+---------------------+

利用RAND()函数可以取任意指定范围内的随机数

  类似于shell> $((RANDOM % 100))得到随机值  

比如:产生 0~100 内的任意随机整数

mysql> select ceil(*rand()),ceil(*rand());
+------------------+------------------+
| ceil(*rand()) | ceil(*rand()) |
+------------------+------------------+
| | |
+------------------+------------------+

若要得到一个随机整数R,i <= R < j

expr:FLOOR(i + RAND() * (j - i))

  Q:取随机整数R,7<=R<12

  A:mysql> select floor(7+(rand()*5));

注意:

  ①当在 WHERE 子句中使用RAND()时,每次当WHERE执行时都要重新计算 RAND()

  ②不能在ORDER BY子句中使用带有随机值的列

但是,可以以随机的顺序从表中检索行

  例如:mysql> SELECT * FROM  players ORDER BY RAND();

  ③ORDER BY RAND()常和LIMIT子句一起使用:

  例如:mysql> SELECT * FROM table1,table2 WHERE a=b AND c<d  ORDER BY RAND() LIMIT 1000;

MySQL最常用数值函数的更多相关文章

  1. DBA必备:MySQL数据库常用操作和技巧

    DBA必备:MySQL数据库常用操作和技巧 2011-02-25 15:31 kaduo it168 字号:T | T MySQL数据库可以说是DBA们最常见和常用的数据库之一,为了方便大家使用,老M ...

  2. CentOS系统操作mysql的常用命令

    MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了 ...

  3. Data Base MySQL的常用命令

       MySQL的常用命令 一.下载地址: http://www.mysql.com 二.安装注意: root默认密码:123456 三.常用命令: 1.创建用户并授权: 创建用户,只能本地访问:cr ...

  4. Mysql数据库常用的命令 数据备份 恢复 远程

    远程数据库 格式: mysql -h主机地址 -u用户名 -p用户密码数据库 mysql -h 42.51.150.68 -u yang -p discuz mysql设置密码 mysql>us ...

  5. mysql数据库常用语句

    关于mysql数据库常用命令的整理: 一:对于数据库的操作 show databases;显示当前用户下所有的数据库名称 use database_name;进入当前数据库 create databa ...

  6. MySQL企业常用集群图解

      mysql集群架构图片 1.mysql企业常用集群架构 在中小型互联网的企业中.mysql的集群一般就是上图的架构.WEB节点读取数据库的时候读取dbproxy服务器.dbproxy服务器通过对S ...

  7. mysql中常用的语句整理

    mysql中常用的语句: 1:创建带自增长的主键的表 DROP TABLE IF EXISTS user_login ; CREATE TABLE user_login (   user_id INT ...

  8. mysql的常用操作的封装

    1.概述: 为了把繁琐的操作简化成简单的类,设计了2个类用来封装了mysql的常用操作,以便使用者可以方便地使用. 2.组成 1)数据库操作类CDatabaseConnect 2)SQL对象类CSql ...

  9. Mysql中常用的函数汇总

    Mysql中常用的函数汇总: 一.数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回 ...

随机推荐

  1. Android中使用开源框架citypickerview实现省市区三级联动选择

    1.概述 记得之前做商城项目,需要在地址选择中实现省市区三级联动,方便用户快速的填写地址,当时使用的是一个叫做android-wheel 的开源控件,当时感觉非常好用,唯一麻烦的是需要自己整理并解析省 ...

  2. golang中的rpc包用法

    RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样. 我所在公司的项目是采用基于Restful的微服务架构,随着微服 ...

  3. React组件开发经典案例--todolist

    点开查看代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <me ...

  4. (十) Jquery的基本使用

    一.引入 注意:如果在index.js中有使用到JQuery.js 那么JQuery.js文件必须比index.js文件先引入,否则index.js文件中不能使用JQuery.js. <scri ...

  5. mtime,ctime,atime

    mtime,ctime,atime是linux三个主要的变动时间. 这三个时间比较容易理解,但是不容易记忆,也容易搞混. mtime (modification time)  文件内容数据更改时,会更 ...

  6. 百度推送-sitemap-使用playframework框架实现-java

    主动推送的目的是能够把我们高质量内容推送给百度,但是首先你得有一个属于你自己的网站,在百度站长进行验证通过之后,才有资格推送百度sitemap. 百度站长平台为未使用百度统计的站点提供三种验证方式:文 ...

  7. 简单的add函数的N种写法

    最近在学习es6,看到for-of这里,就想自己写着练习一下,于是就准备写一个小函数add来求和.函数很简单,如add(1,2,3)这样.于是我开始着手 一开始我是这么写的 function add( ...

  8. 关于Trie KMP AC自动机

    个人认为trie,KMP,AC自动机是思想非常明确的,AC自动机的性质是与KMP算法的思想类似的(失配后跳转) 而KMP是线性的,AC自动机是在tire树上跑KMP,为方便那些不会用指针的小朋友(我也 ...

  9. iOS开发之Quartz2D

    1.         Quartz2D概述及作用 Quartz2D的API是纯C语言的,Quartz2D的API来自于Core Graphics框架. 数据类型和函数基本都以CG作为前缀,比如: CG ...

  10. nfs mount:reason given by server: Permission denied

    遇到nfs mount的问题,以前从未遇到过,问题出的很奇怪,现象是 mount: 10.1.10.22:/cicro failed, reason given by server: Permissi ...