数学函数

abs(double a)

功能: 返回参数的绝对值

返回类型:double类型

使用说明:使用该函数需要确保函数的返回值是整数。

acos(double a)

功能: 返回参数的反余弦值

返回类型:double类型

asin(double a)

功能: 返回参数的反正弦值

返回类型:double类型

atan(double a)

功能: 返回参数的反正切值

返回类型:double类型

bin(bigint a)

功能: 返回整型的二进制表示形式(即0 和1 序列)

返回类型:string类型

  1. mysql> select bin(10);
  2. +---------+
  3. | bin(10) |
  4. +---------+
  5. | 1010 |
  6. +---------+
  7. 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类型

举例:

  1. mysql> select conv(64,10,8);
  2. +-----------------+
  3. | conv(64, 10, 8) |
  4. +-----------------+
  5. | 100 |
  6. +-----------------+
  7. 1 row in set (0.01 sec)
  1. mysql> select cast(conv('fe', 16, 10) as int) as "transform_string_to_int";
  2. +-------------------------+
  3. | transform_string_to_int |
  4. +-------------------------+
  5. | 254 |
  6. +-------------------------+
  7. 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类型

举例:

  1. mysql> select fmod(10,3);
  2. +-----------------+
  3. | fmod(10.0, 3.0) |
  4. +-----------------+
  5. | 1 |
  6. +-----------------+
  7. 1 row in set (0.01 sec)
  1. mysql> select fmod(5.5,2);
  2. +----------------+
  3. | fmod(5.5, 2.0) |
  4. +----------------+
  5. | 1.5 |
  6. +----------------+
  7. 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类型

举例:

  1. mysql> select hex('abc');
  2. +------------+
  3. | hex('abc') |
  4. +------------+
  5. | 616263 |
  6. +------------+
  7. 1 row in set (0.01 sec)
  1. mysql> select unhex(616263);
  2. +---------------+
  3. | unhex(616263) |
  4. +---------------+
  5. | abc |
  6. +---------------+
  7. 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的余数。等价于%算术符。

返回类型:和输入类型相同

举例:

  1. mysql> select mod(10,3);
  2. +------------+
  3. | mod(10, 3) |
  4. +------------+
  5. | 1 |
  6. +------------+
  7. 1 row in set (0.01 sec)
  1. mysql> select mod(5.5,2);
  2. +-------------+
  3. | mod(5.5, 2) |
  4. +-------------+
  5. | 1.5 |
  6. +-------------+
  7. 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类型。

举例:

  1. mysql> select round(100.456, 2);
  2. +-------------------+
  3. | round(100.456, 2) |
  4. +-------------------+
  5. | 100.46 |
  6. +-------------------+
  7. 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类型

举例:

  1. mysql> select hex('abc');
  2. +------------+
  3. | hex('abc') |
  4. +------------+
  5. | 616263 |
  6. +------------+
  7. 1 row in set (0.01 sec)
  1. mysql> select unhex(616263);
  2. +---------------+
  3. | unhex(616263) |
  4. +---------------+
  5. | abc |
  6. +---------------+
  7. 1 row in set (0.01 sec)