加减乘除(+、-、*、/)均可用于数值计算。

SELECT (1 + 1) / (1 * 2.2 - 3)

执行算术函数

单参数数值函数举例:

acos(x), asin(x), atan(x), cos(x), cot(x), exp(x), ln(x), sin(x), sqrt(x), tan(x)

mod()函数:求模操作。

mysql> SELECT MOD(10, 4);
+------------+
| MOD(10, 4) |
+------------+
| 2 |
+------------+
1 row in set (0.00 sec)

mod()函数主要用于整数,但是MySQL还可以用它来处理实数:

mysql> SELECT MOD(10.3, 4);
+--------------+
| MOD(10.3, 4) |
+--------------+
| 2.3 |
+--------------+
1 row in set (0.00 sec)

pow():求幂操作。

mysql> SELECT POW(2,8);
+----------+
| POW(2,8) |
+----------+
| 256 |
+----------+
1 row in set (0.07 sec)

ceil()函数向上截取整数;floor()函数向下截取整数。

mysql> SELECT CEIL(121.22), FLOOR(321.233);
+--------------+----------------+
| CEIL(121.22) | FLOOR(321.233) |
+--------------+----------------+
| 122 | 321 |
+--------------+----------------+
1 row in set (0.00 sec)

round()函数:四舍五入。

mysql> SELECT ROUND(23.4), ROUND(1.34567, 3);
+-------------+-------------------+
| ROUND(23.4) | ROUND(1.34567, 3) |
+-------------+-------------------+
| 23 | 1.346 |
+-------------+-------------------+
1 row in set (0.00 sec)

truncate()函数:去掉不需要的小数位。

mysql> SELECT TRUNCATE(12.4567,1);
+---------------------+
| TRUNCATE(12.4567,1) |
+---------------------+
| 12.4 |
+---------------------+
1 row in set (0.00 sec)

truncate()和round()函数都可以为第二个参数指定一个负数,表是小数点左侧需要被截取或取整多少位:

mysql> SELECT ROUND(17, -1), TRUNCATE(17,-1);
+---------------+-----------------+
| ROUND(17, -1) | TRUNCATE(17,-1) |
+---------------+-----------------+
| 20 | 10 |
+---------------+-----------------+
1 row in set (0.00 sec)

处理有符号数

sign()函数:在参数小于0时返回-1,在参数为0时返回0,在参数大于0时返回1;

abs()函数:返回参数的绝对值。

SELECT account_id, SIGN(avail_balance), ABS(avail_balance)
FROM account;

MySQL中的数值函数的更多相关文章

  1. Mysql中的常用函数:

    Mysql中的常用函数: 1.字符串函数: (1).合并字符串 concat():// concat('M','y',"SQL",'5.5');== MySQL5.5//当传入的参 ...

  2. mysql中常用函数简介(不定时更新)

    常用函数version() 显示当前数据库版本database() 返回当前数据库名称user() 返回当前登录用户名inet_aton(IP) 返回IP地址的数值形式,为IP地址的数学计算做准备in ...

  3. MySQL中You can't specify target table for update in FROM clause一场

    mysql中You can't specify target table <tbl> for update in FROM clause错误的意思是说,不能先select出同一表中的某些值 ...

  4. MySql中in和exists效率

    mysql中的in语句是把外表和内表作hash 连接,而exists语句是对外表作loop循环,每次loop循环再对内表进行查询.一直大家都认为exists比in语句的效率要高,这种说法其实是不准确的 ...

  5. [原创]MYSQL中利用外键实现级联删除和更新

    MySQL中利用外键实现级联删除.更新 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定 ...

  6. mysql中的多行查询结果合并成一个

    SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 ...

  7. 【转】MySql中的函数

    原文:http://www.cnblogs.com/kissdodog/p/4168721.html MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: ...

  8. sqlserver 中数据导入到mysql中的方法以及注意事项

    数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...

  9. MySQL中有关TIMESTAMP和DATETIME的总结

    一.MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME ...

随机推荐

  1. 多线程——工具类之Semaphore

    一.Semaphore功能介绍 Semaphore类相当于线程计数器,在获取Semaphore对象时设定可以产生的线程总数(线程并不是Semaphore类生成的,它只是统计线程的数量),创建Semap ...

  2. 【Python】 linux中python命令的命令行参数

    Python命令行参数 原文地址:http://blog.163.com/weak_time/blog/static/25852809120169333247925/ Python的命令行参数,提供了 ...

  3. iOS 跑马灯带图片可点击

    项目中有个需求,需要以跑马灯的形势滚动展示用户的实时数据,跑马灯需要有用户头像,内容的长度不固定,并且可以点击,滚动效果还要足够流畅,本着不重复造轮子的心理,在网上各种搜索,发现都没法找到满足需求的d ...

  4. [bzoj1497][NOI2006]最大获利_网络流_最小割

    最大获利 bzoj-1497 题目大意:可以建立一个点,花费一定的代价:将已经建立的两个点之间连边,得到一定收益.有些节点之间是不允许连边的. 注释:1<=点数<=5,000,1<= ...

  5. netstat/ps用法

    1.netstat 语法     命令1:netstat -antp | grep :80(查看80端口被哪个服务占用)or netstat -antpuel  | grep ":22&qu ...

  6. 网络1711-1712班 c 语言评分总表一览

    学号 姓名 作业地址 PTA实验作业5分 PTA排名2分 阅读代码2分 总结1分 代码规范扣分-2--0 总分 是否推荐博客 1 **莹 http://www.cnblogs.com/wwwwxy12 ...

  7. 201621123050 《Java程序设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1. 源代码阅读:多线程程序BounceThread 1.1 BallR ...

  8. Bate版敏捷冲刺报告--day0

    1 团队介绍 团队组成: PM:齐爽爽(258) 小组成员:马帅(248),何健(267),蔡凯峰(285)  Git链接:https://github.com/WHUSE2017/C-team 2 ...

  9. 《Language Implementation Patterns》之 符号表

    前面的章节我们学会了如何解析语言.构建AST,如何访问重写AST,有了这些基础,我们可以开始进行"语义分析"了. 在分析语义的一个基本方面是要追踪"符号",符号 ...

  10. 小草手把手教你LabVIEW串口仪器控制—安装使用仪器现有驱动

    声明:很多仪器是没有驱动的.所以,具体问题具体分析.另外声明:所谓的驱动,也就是封装好的底层的串口通信程序,也是程序而已,只不过别人帮你做成了子 VI,让自己容易用.所以:不要弄混淆了概念.国外的很多 ...