【重学 MySQL】三十、数值类型的函数
- 基本函数
- 角度与弧度互换函数
- 三角函数
- 指数与对数
- 进制间的转换
- 示例
基本函数
MySQL提供了一系列基本的数值函数,用于处理数学运算和数值转换。以下是一些常用的基本函数及其用法:
函数 | 用法 |
---|---|
ABS(x) | 返回x的绝对值。 |
SIGN(X) | 返回X的符号。正数返回1,负数返回-1,0返回0。 |
PI() | 返回圆周率的值(约等于3.141592653589793)。 |
CEIL(x) ,CEILING(x) | 返回大于或等于x的最小整数(向上取整)。 |
FLOOR(x) | 返回小于或等于x的最大整数(向下取整)。 |
LEAST(e1,e2,e3...) | 返回列表中的最小值。可以比较多个值。 |
GREATEST(e1,e2,e3...) | 返回列表中的最大值。可以比较多个值。 |
MOD(x,y) | 返回x除以y后的余数。 |
RAND() | 返回一个0到1之间的随机浮点数。 |
RAND(x) | 返回一个0到1之间的随机浮点数,其中x作为种子值,相同的x值会产生相同的随机数。 |
ROUND(x) | 返回一个对x进行四舍五入后的整数。 |
ROUND(x,y) | 返回一个对x进行四舍五入后的值,并保留y位小数。 |
TRUNCATE(x,y) | 返回数字x截断为y位小数的结果,不进行四舍五入。 |
SQRT(x) | 返回x的平方根。如果x是负数,则返回NULL。 |
角度与弧度互换函数
在处理三角函数时,经常需要在角度和弧度之间进行转换。MySQL提供了以下两个函数:
函数 | 用法 |
---|---|
RADIANS(x) | 将角度x转换为弧度。 |
DEGREES(x) | 将弧度x转换为角度。 |
三角函数
MySQL支持多种三角函数,用于计算角度(以弧度为单位)的正弦、余弦、正切等。
函数 | 用法 |
---|---|
SIN(x) | 返回x(弧度)的正弦值。 |
ASIN(x) | 返回x的反正弦值(以弧度为单位),即获取正弦值为x的角度。 |
COS(x) | 返回x(弧度)的余弦值。 |
ACOS(x) | 返回x的反余弦值(以弧度为单位),即获取余弦值为x的角度。 |
TAN(x) | 返回x(弧度)的正切值。 |
ATAN(x) | 返回x的反正切值(以弧度为单位),即返回正切值为x的角度。 |
ATAN2(m,n) | 返回两个参数(y, x)的反正切值,考虑了坐标系的四个象限。 |
COT(x) | 返回x(弧度)的余切值,即1/TAN(x)。 |
指数与对数
MySQL提供了用于计算指数和对数的函数。
函数 | 用法 |
---|---|
POW(x,y) ,POWER(X,Y) | 返回x的y次方。 |
EXP(X) | 返回e(自然对数的底数,约等于2.71828)的X次方。 |
LN(X) ,LOG(X) | 返回以e为底X的对数。如果X <= 0,则返回NULL。 |
LOG10(X) | 返回以10为底X的对数。如果X <= 0,则返回NULL。 |
LOG2(X) | 返回以2为底X的对数。如果X <= 0,则返回NULL。 |
进制间的转换
MySQL支持将数字从一种进制转换为另一种进制。
函数 | 用法 |
---|---|
BIN(x) | 返回x的二进制表示,作为字符串。 |
HEX(x) | 返回x的十六进制表示,作为字符串。 |
OCT(x) | 返回x的八进制表示,作为字符串。 |
CONV(x,f1,f2) | 将x从f1进制转换为f2进制,并返回转换后的字符串。如果f1或f2不在2到36之间,则返回NULL。 |
示例
-- 基本函数示例
SELECT ABS(-123), SIGN(43), PI(), CEIL(32.32), FLOOR(-43.23), MOD(12,5) FROM DUAL;
-- 角度与弧度互换函数示例
SELECT RADIANS(30), DEGREES(PI());
-- 三角函数示例
SELECT SIN(RADIANS(30)), COS(RADIANS(60)), TAN(RADIANS(45)), DEGREES(ATAN2(1,1));
-- 指数与对数函数示例
SELECT POW(2,5), EXP(1), LN(E()), LOG10(100), LOG2(8);
-- 进制转换函数示例
SELECT BIN(10), HEX(10), OCT(10), CONV(10, 10, 2);
请注意,上述示例中的DUAL
是一个特殊的虚拟表,可以在不引用任何实际表的情况下从其中选择数据。这通常用于仅执行函数而不从表中检索数据的场景。