• 数学函数

    数学函数

    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)