mysql 函数数字

数据库常用数学函数介绍

RAND()

  • 返回一个随机浮点数v(0<=v<1.0)
  • 任意指定范围内的随机数
select ceil(100*rand()),ceil(100*rand());
| ceil(100*rand()) | ceil(100*rand()) |
|               87 |               75 |
FLOOR(i + RAND() * (j - i))

RAND(x)

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

select rand(1),rand(2),rand(1);
| rand(1)             | rand(2)            | rand(1)      
| 0.40540353712197724 | 0.6555866465490187 | 0.40540353712197724 |

ROUND(X[,D])

将数字X四舍五入到指定的小数位数D

不指定D,则默认为0

 select round(1.58),round(1.298,1);
| round(1.58) | round(1.298,1) |
+-------------+----------------+
|           2 |            1.3 |

D是负数,从小数点的左边进行四舍五入

select round(1.58,0),round(1.298,-1)
| round(1.58,0) | round(1.298,-1) |
+---------------+-----------------+
|             2 |               0 |

MAX()

MIN()

TRUNCATE(X,D)

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

select truncate(1.999,1),truncate(1.999,0)
| truncate(1.999,1) | truncate(1.999,0) |
+-------------------+-------------------+
|               1.9 |                 1 |
select truncate(-1.999,1),truncate(123,-2)
| truncate(-1.999,1) | truncate(123,-2) |
+--------------------+------------------+
|               -1.9 |              100 |

FLOOR()

舍一取整 向下取整

select floor(1.23),floor(-1.23)
| floor(1.23) | floor(-1.23) | +-------------+--------------+ |           1 |           -2 

CEIL(x)

返回不小于 x 的最小整数,也就是说得大于或等于x的最小整数

select ceil(1.23),ceiling(-1.23)
| ceil(1.23) | ceiling(-1.23) |
+------------+----------------+
|          2 |             -1 |

ABS(x)

返回 x 的绝对值

select abs(-0.8),abs(0.8)
| abs(-0.8) | abs(0.8) |
+-----------+----------+
|       0.8 |      0.8 |

DIV整数除法

MOD(x,y)

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

select mod(123,10),234%7,3 mod 2
| mod(123,10) | 234%7 | 3 mod 2 |
+-------------+-------+---------+
|           3 |     3 |       1 |

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

select mod(3.14,3),mod(3,0)
| mod(3.14,3) | mod(3,0) |
+-------------+----------+
|        0.14 |     NULL |

返回圆周率

PI (3.141593)

其他

POW(xy)

返回x的y次方

2的3次方:SELECTPOW(2,3)--8

POWER(X.y)

返回x的y次方

2的3次方:SELECTPOWER(2,3)--8

RADIANS(X)

将角度转换为弧度

180度转换为弧度:SELECT RADIANS(180) 3.1415926535898

RANDO

返回0到1的随机数

SELECT RAND()--0.93099315644334

ROUND(X)

返回离×最近的整数

SELECTROUND(1.23456)--1

SIGN(x)

返回x的符号,x是负 数、0、正数分别返回 -1、0和1

SELECT SIGN(-10)--(-1)

SIN(x)

求正弦值(参数是弧度)

SELECT SIN(RADIANS(30))--0.5

SQRT(X)

返回x的平方根

25的平方根:SELECT SQRT(25)--5

SUM(expression)

返回指定字段的总和

计算OrderDetails表中字段Quantity的总 和:[SELECT SUM(Quantity)AS TotalItemsOrdered FROM OrderDetails;

TAN(x)

求正切值(参数是弧度)

SELECT TAN(1.75);---5.52037992250933

TRUNCATE(x.y)

返回数值×保留到小 数点后y位的值(与 ROUND最大的区别是 不会进行四舍五入)

SELECT TRUNCATE(1.23456,3)--1.234

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值