【MySQL】单行函数-数值函数
2022/8/12 2:25:21
本文主要是介绍【MySQL】单行函数-数值函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数值函数
- 1.基本函数
- 2.角度与弧度互换函数
- 3.三角函数
- 4.指数与对数
- 5.进制间的转换
1.基本函数
函数 | 小写 | 用法 |
---|---|---|
ABS(x) | absolute value | 返回x的绝对值 |
SIGN(x) | sign | 返回x的符号。正数返回1,负数返回-1,0返回0 |
PI() | π | 返回圆周率的值,默认返回3.141593 |
CEIL(x),CEILING(x) | ceiling 天花板 | 返回x向上取整的值 |
FLOOR(x) | floor 地板 | 返回x向下取整的值 |
LEAST(e1,e2,e3...) | least 最小 | 返回列表中的最小值 |
GREATEST(e1,e2,e3...) | greatest 最大 | 返回列表中的最大值 |
MOD(x,y) | modular arithmetic 求余 | 返回x除以y后的余数 |
RAND() | random | 返回0~1的随机数 |
RAND(x) | 返回0~1的随机数,x用作种子值,相同的x值会产生相同的随机数 | |
ROUND(x) | round | 返回对x进行四舍五入的结果 |
ROUND(x,y) | 返回对x进行四舍五入,保留y位小数的结果 | |
TRUNCATE(x,y) | truncate | 返回对x截取为y位小数的结果 |
SQRT(x) | square root calculations 非负实数平方根 | 返回x的平方根,x为负数时,返回null |
举例1:对数字操作
SELECT ABS(-567),ABS(13), SIGN(-31),SIGN(56), PI(), CEIL(13.44),CEILING(-31.55), FLOOR(56.77),FLOOR(-13.22), MOD(13,4) FROM DUAL;
举例2:随机数
SELECT RAND(),RAND(), RAND(10),RAND(10), RAND(-1),RAND(-1) FROM DUAL;
举例3:四舍五入
SELECT ROUND(13.44),ROUND(13.233,2),ROUND(13.234,-1), ROUND(13.56),ROUND(13.556,2),ROUND(13.567,-1), TRUNCATE(12.66,1),TRUNCATE(12.66,-1) FROM DUAL;
2.角度与弧度互换函数
图二中OC半径和CD两条线相等时夹角为1弧度。
圆的周长C = 2πr,
则C/r = 2π,即一个圆360°等于2π弧度。
1弧度 = 360°/2π = 180°/π
函数 | 小写 | 用法 |
---|---|---|
RADIANS(x) | radians | 将角度x转化为弧度 |
DEGREES(x) | degrees | 将弧度x转化为角度 |
举例1:
SELECT RADIANS(30),RADIANS(60),RADIANS(90), DEGREES(2*PI()),DEGREES(RADIANS(90)) FROM DUAL;
3.三角函数
tan(x)
和tan2(m,n)
计算两个点时,P1(x1,y1),P2(x2,y2)
tan((y2-y1)/(x2-x1))
tan2(y2-y1,x2-x1)
当x2-x1 = 0
时,tan(x)
函数会报错,而tan2(m,n)
则不会
y = sinx
表示由x求y
由y求x则用x = asiny
表示
sin(x)中x为弧度,asin(x)中x取值在(-1,1)范围内,超出返回null
函数 | 小写 | 用法 |
---|---|---|
SIN(x) | sin | 返回x的正弦值 |
ASIN(x) | asin | 返回x的反正弦值,如果x的值不在-1到1之间,则返回null |
COS(x) | cos | 返回x的余弦值 |
ACOS(x) | acos | 返回x的反余弦值,如果x的值不在-1到1之间,则返回null |
TAN(x) | tan | 返回x的正切值 |
ATAN(x) | atan | 返回x的反正切值 |
ATAN2(m,n) | atan2 | 返回两个参数的反正切值 |
COT(x) | cot | 返回x的余切值 |
SELECT SIN(PI()/2),ASIN(1), SIN(RADIANS(30)),DEGREES(ASIN(1)), TAN(RADIANS(45)),DEGREES(ATAN(1)),DEGREES(ATAN2(1,1)) FROM DUAL;
4.指数与对数
函数 | 小写 | 用法 |
---|---|---|
POW(x,y),POWER(x,y) | power | 返回x的y次方 |
EXP(x) | exponential 指数曲线 | 返回e的x次方,e为常数 |
LN(x),LOG(x) | logarithmic function 对数函数 | 返回以e为底时x的对数,x<=0时,返回null |
LOG10(x) | 返回以10为底时x的对数,x<=0时,返回null | |
LOG2(x) | 返回以2为底时x的对数,x<0时,返回null |
SELECT POW(2,3),POWER(2,4), EXP(2), LN(10),LN(EXP(1)), LOG10(10),LOG2(4) FROM DUAL;
5.进制间的转换
函数 | 小写 | 用法 |
---|---|---|
BIN(x) | binary 二进制 | 返回x的二进制编码 |
OCT(x) | octal 八进制 | 返回x的八进制编码 |
HEX(x) | hexadecimal 十六进制 | 返回x的十六进制编码 |
CONV(x,f1,f2) | conversion 转换 | 返回f1进制数变成f2进制数 |
SELECT BIN(10), HEX(10), OCT(10), CONV(101,2,10) -- 把二进制数101,变为十进制并返回 FROM DUAL;
这篇关于【MySQL】单行函数-数值函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程