MySQL 数字函数大全

以下内容基于MySQL 5.6及更高,大部分函数5.5也基本适用,更低版本请参考对应版本手册,其内容整理自官方。

mysql常用函数被分为五类,分别为:

①Numeric:数字函数;

②String:字符串函数;
http://blog.itpub.net/29773961/viewspace-1813545/

③Date and time:日期和时间;
http://blog.itpub.net/29773961/viewspace-1808967/

④Control Flow:基于一个表达式的结果集选择不同的值(控制流函数);
http://blog.itpub.net/29773961/viewspace-1813557/

⑤Aggregate:基于一列的多个值返回单一值(聚合函数);
http://blog.itpub.net/29773961/viewspace-1813589/

【Numeric
】:
ABS() 返回绝对值
  1. mysql> SELECT ABS(-22), ABS(0), ABS(33);
  2. +----------+--------+---------+
  3. | ABS(-22) | ABS(0) | ABS(33) |
  4. +----------+--------+---------+
  5. | 22       | 0      | 33      |
  6. +----------+--------+---------+
  7. 1 row in set (0.00 sec)


ACOS() :返回arccos


ASIN ():返回arcsin


ATAN ():返回arctan


CEIL ()与CEILING():向上取整
  1. mysql> SELECT CEIL(-1.2), CEIL(1.8), CEILING(0.4), CEILING(0.8);
  2. +------------+-----------+--------------+--------------+
  3. | CEIL(-1.2) | CEIL(1.8) | CEILING(0.4) | CEILING(0.8) |
  4. +------------+-----------+--------------+--------------+
  5. | -1         | 2         | 1            | 1            |
  6. +------------+-----------+--------------+--------------+
  7. 1 row in set (0.00 sec)


CONV() :不同进制的转换
  1. mysql> SELECT CONV('a',16,2) 将16进制数a转换为2进制,
  2.     -> CONV('6E',18,8),
  3.     -> CONV(10+'10'+'10'+0xa,10,10);
  4. +---------------------------------+-----------------+------------------------------+
  5. | 将16进制数a转换为2进制            | CONV('6E',18,8) | CONV(10+'10'+'10'+0xa,10,10) |
  6. +---------------------------------+-----------------+------------------------------+
  7. | 1010                            | 172             | 40                           |
  8. +---------------------------------+-----------------+------------------------------+
  9. 1 row in set (0.00 sec)


COS ():返回余弦值


COT ():返回余切值


CRC32() :返回循环冗余校验值


DEGREES ():将弧度变为角度
  1. mysql> SELECT DEGREES(PI());
  2. +---------------+
  3. | DEGREES(PI()) |
  4. +---------------+
  5. | 180            
  6. +---------------+
  7. 1 row in set (0.01 sec)


EXP() :返回以e为底的某次方的值


FLOOR ():返回最大不超过表达式的整数
  1. mysql> SELECT FLOOR(1.34), FLOOR(-0.1112), FLOOR(2.56);
  2. +-------------+----------------+-------------+
  3. | FLOOR(1.34) | FLOOR(-0.1112) | FLOOR(2.56) |
  4. +-------------+----------------+-------------+
  5. | 1           | -1             | 2           |
  6. +-------------+----------------+-------------+
  7. 1 row in set (0.00 sec)


LN ():返回log以e为底,某指的对数


LOG10 ():返回log以10为底,某值的对数


LOG2 ():返回log以2为底,某值的对数


LOG(expr1,expr2):返回以expr1为底数,expr2值的对数


MOD(expr1,expr2):返回expr1模expr2的值。


PI():返回π的值


POW(expr1,expr2)与POWER(expr1,expr2):返回expr1的expr2次方的值
  1. mysql> SELECT POW(1,99), POWER(1,99),
  2.     -> POW(2,10), POWER(-2,5);
  3. +-----------+-------------+-----------+-------------+
  4. | POW(1,99) | POWER(1,99) | POW(2,10) | POWER(-2,5) |
  5. +-----------+-------------+-----------+-------------+
  6. | 1         | 1           | 1024      | -32         |
  7. +-----------+-------------+-----------+-------------+
  8. 1 row in set (0.02 sec)


RADIANS() :将角度变为弧度
  1. mysql> SELECT RADIANS(180);
  2. +-------------------+
  3. | RADIANS(180)      |
  4. +-------------------+
  5. | 3.141592653589793 |
  6. +-------------------+
  7. 1 row in set (0.00 sec)


RAND () :返回一个浮点随机数(0~1开区间)
  1. mysql> SELECT RAND();
  2. +--------------------+
  3. | rand()             |
  4. +--------------------+
  5. | 0.7237686484342148 |
  6. +--------------------+
  7. 1 row in set (0.00 sec)


ROUND () :将某值四舍五入
  1. mysql> SELECT ROUND(PI()), ROUND(-2.333), ROUND(-2.7666), ROUND(3.611);
  2. +-------------+---------------+----------------+--------------+
  3. | ROUND(PI()) | ROUND(-2.333) | ROUND(-2.7666) | ROUND(3.611) |
  4. +-------------+---------------+----------------+--------------+
  5. | 3           | -2            | -3             | 4            |
  6. +-------------+---------------+----------------+--------------+
  7. 1 row in set (0.00 sec)


SIGN() :返回正负(-1=负值,0=零,1=正值)
  1. mysql> SELECT SIGN(-3.14), SIGN(0), SIGN(22.1)
  2.     -> ;
  3. +-------------+---------+------------+
  4. | SIGN(-3.14) | SIGN(0) | SIGN(22.1) |
  5. +-------------+---------+------------+
  6. | -1          | 0       | 1          |
  7. +-------------+---------+------------+
  8. 1 row in set (0.00 sec)


SIN():返回正弦值


SQRT():将某值开平方(当然用POW(expr1,1/2)也可以)
  1. mysql> SELECT SQRT(1024),SQRT(9);
  2. +------------+---------+
  3. | SQRT(1024) | SQRT(9) |
  4. +------------+---------+
  5. | 32         | 3       |
  6. +------------+---------+
  7. 1 row in set (0.00 sec)


TAN () :返回正切值


TRUNCATE(expr1,expr2) :将expr1返回以保留expr2个小数点
  1. mysql> SELECT TRUNCATE(2.111111,3);
  2. +----------------------+
  3. | TRUNCATE(2.111111,3) |
  4. +----------------------+
  5. | 2.111                |
  6. +----------------------+
  7. 1 row in set (0.00 sec)


作者公众号(持续更新)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29773961/viewspace-1813556/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29773961/viewspace-1813556/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值