• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL基础教程8 — 函数之数值函数

MySQL基础教程8 — 函数之数值函数

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MySQL,函数之数值函数等相关知识,希望本文的分享对您有所帮助


1. 算术操作符

可使用常见的算术操作符。注意就 -、 +和 *而言, 若两个参数均为正数,则其计算结果的精确度为 BIGINT (64比特),若其中一个参数为无符号整数, 而其它参数也是整数, 则结果为无符号整数。

  • +

加号:

mysql> SELECT 3+5;
-> 8
  • -

减号:

mysql> SELECT 3-5;
-> -2
  • -

一元减号。更换参数符号。

mysql> SELECT - 2;
-> -2

注意:若该 操作符同一个BIGINT同时使用,则返回值也是一个BIGINT。这意味着你应当尽量避免对可能产生–263的整数使用 –。

  • *

乘号:

mysql> SELECT 3*5;
-> 15
mysql> SELECT 18014398509481984*18014398509481984.0;
-> 324518553658426726783156020576256.0
mysql> SELECT 18014398509481984*18014398509481984;
-> 0

最后一个表达式的结果是不正确的。原因是整数相乘的结果超过了BIGINT 计算的 64比特范围。

  • /

除号:

mysql> SELECT 3/5;
-> 0.60

被零除的结果为 NULL:

mysql> SELECT 102/(1-1);
-> NULL

只有当执行的语境中,其结果要被转化为一个整数时 ,除法才会和 BIGINT 算法一起使用。

  • p

整数除法。 类似于 FLOOR(),然而使用BIGINT 算法也是可靠的。

mysql> SELECT 5 p 2;
-> 2

2. 数学函数

若发生错误,所有数学函数会返回 NULL 。

  • ABS(X)

返回X 的绝对值。

mysql> SELECT ABS(2);
-> 2
mysql> SELECT ABS(-32);
-> 32

该函数支持使用BIGINT值。

  • ACOS(X)

返回X 反余弦, 即, 余弦是X的值。若X 不在-1到 1的范围之内,则返回 NULL 。

mysql> SELECT ACOS(1);
-> 0
mysql> SELECT ACOS(1.0001);
-> NULL
mysql> SELECT ACOS(0);
-> 1.5707963267949
  • ASIN(X)

返回X 的反正弦,即,正弦为X 的值。若X 若X 不在-1到 1的范围之内,则返回 NULL 。

mysql> SELECT ASIN(0.2);        -> 0.20135792079033
mysql> SELECT ASIN('foo');+-------------+
| ASIN('foo') |
+-------------+
|           0 |
+-------------+
1 row in set, 1 warning (0.00 sec)

mysql> SHOW WARNINGS;+---------+------+-----------------------------------------+
| Level   | Code | Message                                 |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'foo' |
+---------+------+-----------------------------------------+
  • ATAN(X)

返回X 的反正切,即,正切为X 的值。

mysql> SELECT ATAN(2);
-> 1.1071487177941
mysql> SELECT ATAN(-2);
-> -1.1071487177941
  • ATAN(Y,X) , ATAN2(Y,X)

返回两个变量X 及Y的反正切。 它类似于 Y 或 X的反正切计算, 除非两个参数的符号均用于确定结果所在象限。

mysql> SELECT ATAN(-2,2);
-> -0.78539816339745
mysql> SELECT ATAN2(PI(),0);
-> 1.5707963267949
  • CEILING(X) CEIL(X)

返回不小于X 的最小整数值。

mysql> SELECT CEILING(1.23);
-> 2
mysql> SELECT CEIL(-1.23);
-> -1

这两个函数的意义相同。注意返回值会被转化为一个BIGINT。

  • COS(X)

返回X 的余弦,其中X在弧度上已知。

mysql> SELECT COS(PI());
-> -1
  • COT(X)

返回X 的余切。

mysql> SELECT COT(12);
-> -1.5726734063977
mysql> SELECT COT(0);
-> NULL
  • CRC32(expr)

计算循环冗余码校验值并返回一个 32比特无符号值。若参数为NULL ,则结果为 NULL。该参数应为一个字符串,而且在不是字符串的情况下会被作为字符串处理(若有可能)。

mysql> SELECT CRC32('MySQL');
-> 3259397556
mysql> SELECT CRC32('mysql');
-> 2501908538
  • DEGREES(X)

返回参数 X, 该参数由弧度被转化为度。

mysql> SELECT DEGREES(PI());
-> 180
mysql> SELECT DEGREES(PI() / 2);
-> 90
  • EXP(X)

返回e的X乘方后的值(自然对数的底)。

mysql> SELECT EXP(2);
-> 7.3890560989307
mysql> SELECT EXP(-2);
-> 0.13533528323661
mysql> SELECT EXP(0);
-> 1
  • FLOOR(X)

返回不大于X的最大整数值 。

mysql> SELECT FLOOR(1.23);
-> 1
mysql> SELECT FLOOR(-1.23);
-> -2

注意,返回值会被转化为一个 BIGINT。

  • FORMAT(X,D)

将数字X 的格式写成'#,###,###.##'格式, 即保留小数点后 D位,而第D位的保留方式为四舍五入,然后将结果以字符串的形式返回。

  • LN(X)

返回X 的自然对数,即, X 相对于基数e 的对数。

mysql> SELECT LN(2);
-> 0.69314718055995
mysql> SELECT LN(-2);
-> NULL

这个函数同LOG(X)具有相同意义。

  • LOG(X) LOG(B,X)

若用一个参数调用,这个函数就会返回X 的自然对数。

mysql> SELECT LOG(2);
-> 0.69314718055995
mysql> SELECT LOG(-2);
-> NULL

若用两个参数进行调用,这个函数会返回X 对于任意基数B 的对数。

mysql> SELECT LOG(2,65536);
-> 16
mysql> SELECT LOG(10,100);
-> 2

LOG(B,X) 就相当于 LOG(X) / LOG(B)。

  • LOG2(X)

返回X 的基数为2的对数。

mysql> SELECT LOG2(65536);
-> 16
mysql> SELECT LOG2(-100);
-> NULL

对于查出存储一个数字需要多少个比特,LOG2()非常有效。这个函数相当于表达式 LOG(X) / LOG(2)。

  • LOG10(X)

返回X的基数为10的对数。

mysql> SELECT LOG10(2);
-> 0.30102999566398
mysql> SELECT LOG10(100);
-> 2
mysql> SELECT LOG10(-100);
-> NULL

LOG10(X)相当于LOG(10,X)。

  • MOD(N,M) , N % M N MOD M

模操作。返回N 被 M除后的余数。

mysql> SELECT MOD(234, 10);
-> 4
mysql> SELECT 253 % 7;
-> 1
mysql> SELECT MOD(29,9);
-> 2
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2018-12-05sqlserver下Kill 所有连接到某一数据库的连接
  • 2017-05-11规范化的SQL数据修改语句总结
  • 2017-05-11SQL字符型字段按数字型字段排序实现方法
  • 2018-12-05MySQL基础教程11 — 函数之Cast函数和操作符
  • 2018-12-05使用c#构造date数据类型
  • 2018-12-05mysql-PHP带复选框的树型结构
  • 2018-12-05SQL Server 2005 模板参数使用说明
  • 2017-05-11MySQL server has gone away 问题的解决方法
  • 2017-05-11MySQL5创建存储过程的示例
  • 2017-05-11MYSQL 优化常用方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • mysql登录遇到ERROR 1045问题解决方法
    • oracle 存储过程和函数例子
    • MySQL优化之—数据类型宽度的简单介绍
    • Windows7中配置安装MySQL 5.6解压缩版
    • 在程序中压缩sql server2000的数据库备份文件的代码
    • MySQL错误“Specified key was too long; max key length is 100
    • mysql高级联结-自然联结、外部联结使用实例
    • 在ORACLE移动数据库文件
    • oracle修改SGA后无法启动问题分析及解决方法
    • 关于oracle扩展使用的方法总结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有