数学函数
abs(double a)
功能: 返回参数的绝对值
返回类型:double类型
使用说明:使用该函数需要确保函数的返回值是整数。
acos(double a)
功能: 返回参数的反余弦值
返回类型:double类型
asin(double a)
功能: 返回参数的反正弦值
返回类型:double类型
atan(double a)
功能: 返回参数的反正切值
返回类型:double类型
bin(bigint a)
功能: 返回整型的二进制表示形式(即0 和1 序列)
返回类型:string类型
- mysql> select bin(10);
- +---------+
- | bin(10) |
- +---------+
- | 1010 |
- +---------+
- 1 row in set (0.01 sec)
ceil(double a)
ceiling(double a)
dceil(double a)
功能: 返回大于等于该参数的最小整数
返回类型:int类型
conv(bigint num, int from_base, int to_base)
conv(string num,int from_base, int to_base)
功能: 进制转换函数,返回某个整数在特定进制下的的字符串形式。输入参数可以是整型的字符串形式。如果想要将函数的返回值转换成整数,可以使用CAST函数。
返回类型:string类型
举例:
- mysql> select conv(64,10,8);
- +-----------------+
- | conv(64, 10, 8) |
- +-----------------+
- | 100 |
- +-----------------+
- 1 row in set (0.01 sec)
- mysql> select cast(conv('fe', 16, 10) as int) as "transform_string_to_int";
- +-------------------------+
- | transform_string_to_int |
- +-------------------------+
- | 254 |
- +-------------------------+
- 1 row in set (0.00 sec)
cos(double a)
功能:返回参数的余弦值
返回类型:double类型
degrees(double a)
功能:将弧度转成角度
返回类型:double类型
e()
功能:返回数学上的常量e
返回类型:double类型
exp(double a)
dexp(double a)
功能: 返回e 的a 次幂(即ea)
返回类型: double 类型
floor(double a)
dfloor(double a)
功能:返回小于等于该参数的最大整数
返回类型:int类型
fmod(double a, double b)
fmod(float a, float b)
功能:返回a除以b的余数。等价于%算术符
返回类型:float或者double类型
举例:
- mysql> select fmod(10,3);
- +-----------------+
- | fmod(10.0, 3.0) |
- +-----------------+
- | 1 |
- +-----------------+
- 1 row in set (0.01 sec)
- mysql> select fmod(5.5,2);
- +----------------+
- | fmod(5.5, 2.0) |
- +----------------+
- | 1.5 |
- +----------------+
- 1 row in set (0.01 sec)
greatest(bigint a[, bigint b …])
greatest(double a[, double b …])
greatest(decimal(p,s) a[, decimal(p,s) b …])
greatest(string a[, string b …])
greatest(timestamp a[, timestamp b …])
功能:返回列表里的最大值
返回类型:和参数类型相同
hex(bigint a)
hex(string a)
功能:返回整型或字符串中各个字符的16进制表示形式。
返回类型:string类型
举例:
- mysql> select hex('abc');
- +------------+
- | hex('abc') |
- +------------+
- | 616263 |
- +------------+
- 1 row in set (0.01 sec)
- mysql> select unhex(616263);
- +---------------+
- | unhex(616263) |
- +---------------+
- | abc |
- +---------------+
- 1 row in set (0.01 sec)
least(bigint a[, bigint b …])
least(double a[, double b …])
least(decimal(p,s) a[, decimal(p,s) b …])
least(string a[, string b …])
least(timestamp a[, timestamp b …])
功能:返回列表里的最小值
返回类型:和参数类型相同
ln(double a)
dlog1(double a)
功能:返回参数的自然对数形式
返回类型:double类型
log(double base, double a)
功能:返回log以base为底数,以a为指数的对数值。
返回类型:double类型
log10(double a)
dlog10(double a)
功能:返回log以10为底数,以a为指数的对数值。
返回类型:double类型
log2(double a)
功能:返回log以2为底数,以a为指数的对数值。
返回类型:double类型
mod(numeric_type a, same_type b)
功能:返回a除以b的余数。等价于%算术符。
返回类型:和输入类型相同
举例:
- mysql> select mod(10,3);
- +------------+
- | mod(10, 3) |
- +------------+
- | 1 |
- +------------+
- 1 row in set (0.01 sec)
- mysql> select mod(5.5,2);
- +-------------+
- | mod(5.5, 2) |
- +-------------+
- | 1.5 |
- +-------------+
- 1 row in set (0.01 sec)
negative(int a)
negative(double a)
功能:将参数a的符号位取反,如果参数是负值,则返回正值
返回类型:根据输入参数类型返回int类型或double类型
使用说明:如果你需要确保所有返回值都是负值,可以使用-abs(a)函数。
pi()
功能:返回常量Pi
返回类型: double类型
pmod(int a, int b)
pmod(double a, double b)
功能:正取余函数
返回类型:int类型或者double类型(由输入参数决定)
positive(int a)
功能:返回参数的原值,即使参数是负的,仍然返回原值。
返回类型:int类型
使用说明:如果你需要确保所有返回值都是正值,可以使用abs()函数。
pow(double a, double p)
power(double a, double p)
功能:返回a的p次幂
返回类型:double类型
radians(double a)
功能:将弧度转换成角度
返回类型:double类型
rand()
rand(int seed)
random()
random(int seed)
功能:返回0~1之间的随机值。参数为随机种子。
返回类型:double
使用说明:每次查询的随机序列都会重置,多次调用rand 函数会产生相同的结果。如果每次查询想产生不同的结果,可以在每次查询时使用不同的随机种子。例如select rand(unix_timestamp()) from …
round(double a)
round(double a, int d)
功能: 取整函数。如果只带一个参数,该函数会返回距离该值最近的整数。如果带2个参数,第二个参数为小数点后面保留的位数。
返回类型:如果参数是浮点类型则返回bigint。如果第二个参数大于1,则返回double类型。
举例:
- mysql> select round(100.456, 2);
- +-------------------+
- | round(100.456, 2) |
- +-------------------+
- | 100.46 |
- +-------------------+
- 1 row in set (0.02 sec)
sign(double a)
功能:如果a是整数或者0,返回1;如果a是负数,则返回-1
返回类型:int类型
sin(double a)
功能:返回a的正弦值
返回类型:double类型
sqrt(double a)
功能:返回a的平方根
返回类型:double类型
tan(double a)
功能:返回a的正切值
返回类型:double类型
unhex(string a)
功能:把十六进制格式的字符串转化为原来的格式
返回类型:string类型
举例:
- mysql> select hex('abc');
- +------------+
- | hex('abc') |
- +------------+
- | 616263 |
- +------------+
- 1 row in set (0.01 sec)
- mysql> select unhex(616263);
- +---------------+
- | unhex(616263) |
- +---------------+
- | abc |
- +---------------+
- 1 row in set (0.01 sec)