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

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. React 系列文章(1): npm 手动搭建React 运行实例 (新手必看)

    摘 要 刚接触React 开发, 在摸索中构建react 运行环境,总会遇到各种坑:本文,将用最短时间解决webpack+react 环境搭建问题. 1.如果你还没有React基础 看这里. 2.如果 ...

  2. C++迭代器的使用和操作总结

    迭代器是一种检查容器内元素并遍历元素的数据类型.C++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只用少数容器(如vector)支持下标操作访 ...

  3. Android中文API (110) —— CursorTreeAdapter

    前言 本章内容是android.widget.CursorTreeAdapter,版本为Android 3.0 r1,翻译来自"深夜未眠",欢迎访问它的博客:"http: ...

  4. Tomcat 8启动速度慢原因1: At least one JAR was scanned for TLDs yet contained no TLDs

    最近使用tomcat8启动项目时,发现At least one JAR was scanned for TLDs yet contained no TLDs这一步加载时间非常长, 从网上收集了各种资料 ...

  5. Android开发之漫漫长途 XVI——ListView与RecyclerView项目实战

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...

  6. 【Spring系列】spring mvc整合任务调度

    一.在dispatcher-servlet.xml中增加定时任务扫描路径和其余配置信息 xmlns:task="http://www.springframework.org/schema/t ...

  7. c语言第五次作业--函数

    一.PTA实验作业 题目1.使用函数输出一个整数的逆序数 1.本题PTA提交列表 2.设计思路 1.int mod,rever:分别表示余数和返回的数 2.while(number%10 || num ...

  8. 201621123062《java程序设计》第六周作业总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰 ...

  9. xcode进行代码覆盖率测试

    去年写的文章,搬到cnblog 本文所述的方法只对xcode5做过测试,xcode6是否可行尚未可知. 配置编译选项 首先请参考苹果官方的文档Configuring Xcode for Code Co ...

  10. SQL数据库开发中的一些经典代码

    1.按姓氏笔画排序: Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as  2.数据库加密: ...