AnalyticDB for MySQL支持以下数值函数。

  • ABS:返回参数的绝对值
  • ROUND:返回参数四舍五入后的值
  • SQRT:返回参数的平方根
  • LN:返回参数的自然对数
  • LOG:对数函数
  • LOG2:返回以2为底的对数
  • LOG10:返回以10为底的对数
  • PI:返回圆周率
  • POWER/POW:返回x的y次幂
  • RADIANS:角度转换为弧度
  • DEGREES:弧度转换为度
  • SIGN:返回参数的符号的值
  • CEILING/CEIL:返回大于参数的最小整数值。
  • FLOOR:返回小于参数的最大整数值
  • EXP:返回以e为底、x为幂的值
  • COS:返回参数的余弦值
  • ACOS:返回参数的反余弦值
  • TAN:返回参数的正切值
  • ATAN:返回参数的反正切值
  • ATAN2:返回参数x除以参数y之后的反正切值
  • COT:返回参数的余切值
  • ASIN:返回参数的反正弦值
  • SIN:返回参数的正弦值

ABS

abs(tinyint x)
abs(smallint x)
abs(int x)
abs(bigint x)
abs(float x)
abs(double x)
abs(decimal x)      
  • 命令说明:返回x的绝对值。
  • 返回值类型:LONG、DECIMAL或DOUBLE。
  • 示例:
        select abs(4.5);
        +----------+
        | abs(4.5) |
        +----------+
        |      4.5 |               
        select abs(4);
        +--------+
        | abs(4) |
        +--------+
        |      4 |                

ROUND

round(tinyint x)
round(smallint x)
round(int x)
round(bigint x)
round(float x)
round(double x)
round(x, d)            
  • 命令说明:将x四舍五入,d是要保留的小数位数,默认d0,舍入算法取决于x的数据类型。
    • 如果xnull,返回结果为null
    • 如果d>0,则四舍五入到指定的小数位。
    • 如果d=0,则四舍五入到最接近的整数。
    • 如果d<0,则在小数点左侧进行四舍五入。
  • 返回值类型:LONG、DECIMAL或DOUBLE。
  • 示例:
        select round(4);
        +----------+
        | round(4) |
        +----------+
        |        4 |                    
        select round(4.5);
        +------------+
        | round(4.5) |
        +------------+
        |        5.0 |                   
        select round(345.984, -1);
        +------------------------------+
        | round(345.984, INTEGER '-1') |
        +------------------------------+
        |                        350.0 |                    

SQRT

sqrt(double x)            
  • 命令说明:返回x的平方根。
  • 返回值类型:DOUBLE。
  • 示例:
        select sqrt(4.222);
        +-------------------+
        | sqrt(4.222)       |
        +-------------------+
        | 2.054750593137766 |
    					

LN

ln(double x)            
  • 命令说明:返回x的自然对数。
  • 返回值类型:DOUBLE。
  • 示例:
        select ln(2.718281828459045);
        +-----------------------+
        | ln(2.718281828459045) |
        +-----------------------+
        |                   1.0 |                    

LOG

log(double x)
log(double x, double y)            
  • 命令说明:调用一个参数时,返回x的自然对数。调用两个参数时,返回以x为底的y的对数。
  • 返回值类型:DOUBLE。
  • 示例:
        select log(16);
        +-------------------+
        | log(16)           |
        +-------------------+
        | 2.772588722239781 |                    
        select log(10,100);
        +--------------+
        | log(10, 100) |
        +--------------+
        |          2.0 |                    

LOG2

log2(double x)            
  • 命令说明:返回以2为底的对数。
  • 返回值类型:DOUBLE。
  • 示例:
        select log2(8.7654);
        +-------------------+
        | log2(8.7654)      |
        +-------------------+
        | 3.131819928389146 |                   

LOG10

log10(double x)            
  • 命令说明:返回以10位底的对数。
  • 返回值类型:DOUBLE。
  • 示例:
        select log10(100.876);
        +--------------------+
        | log10(100.876)     |
        +--------------------+
        | 2.0037878529824615 |                    

PI

pi()           
  • 命令说明:返回圆周率。
  • 返回值类型:DOUBLE。
  • 示例:
        select pi();
        +-------------------+
        | pi()              |
        +-------------------+
        | 3.141592653589793 |                    

POWER/POW

power(double x, double y)
pow(double x, double y)            
  • 命令说明:返回xy次幂。
  • 返回值类型:DOUBLE。
  • 示例:
        select power(1.2,3.4);
        +-------------------+
        | power(1.2, 3.4)   |
        +-------------------+
        | 1.858729691979481 |                    
        select pow(1.2,3.4);
        +-------------------+
        | pow(1.2, 3.4)     |
        +-------------------+
        | 1.858729691979481 |                    

RADIANS

radians(double x)            
  • 命令说明:角度转换为弧度。
  • 返回值类型:DOUBLE。
  • 示例:
        select radians(60.0);
        +--------------------+
        | radians(60.0)      |
        +--------------------+
        | 1.0471975511965976 |                    

DEGREES

degrees(double x)            
  • 命令说明:弧度转换为度。
  • 返回值类型:DOUBLE。
  • 示例:
        select degrees(1.3);
        +-------------------+
        | degrees(1.3)      |
        +-------------------+
        | 74.48451336700703 |                    

SIGN

sign(smallint x)
sign(tinyint x)
sign(int x)
sign(bigint x)
sign(float x)
sign(double x)
sign(decimal x)            
  • 命令说明:返回数字x的符号的值。
  • 返回值类型:LONG。
  • 示例:
        select sign(12);
        +----------+
        | sign(12) |
        +----------+
        |        1 |                    
        select sign(4.5);
        +-----------+
        | sign(4.5) |
        +-----------+
        |         1 |                    

CEILING/CEIL

ceiling(tinyint x)
ceiling(smallint x)
ceiling(int x)
ceiling(bigint x)
ceiling(float x)
ceiling(double x)            
  • 命令说明:返回大于x的最小整数值。
  • 返回值类型:LONG、DECIMAL或DOUBLE。
  • 示例:
        select ceiling(4);
        +------------+
        | ceiling(4) |
        +------------+
        |          4 |                   
        select ceiling(2.3);
        +--------------+
        | ceiling(2.3) |
        +--------------+
        |          3.0 |                    

FLOOR

floor(tinyint x)
floor(smallint x)
floor(int x)
floor(bigint x)
floor(float x)
floor(double x)            
  • 命令说明:返回小于x的最大整数值。
  • 返回值类型:LONG、DECIMAL或DOUBLE。
  • 示例:
        select floor(4.5);
        +------------+
        | floor(4.5) |
        +------------+
        |        4.0 |                   
        select floor(7);
        +----------+
        | floor(7) |
        +----------+
        |        7 |                    

EXP

exp(double x)            
  • 命令说明:返回以e为底、x为幂的值。
  • 返回值类型:DOUBLE。
  • 示例:
        select exp(4.5);
        +-------------------+
        | exp(4.5)          |
        +-------------------+
        | 90.01713130052181 |                    

COS

cos(double x)            
  • 命令说明:返回x的余弦值。
  • 返回值类型:DOUBLE。
  • 示例:
        select cos(1.3);
        +---------------------+
        | cos(1.3)            |
        +---------------------+
        | 0.26749882862458735 |                    

ACOS

acos(double x)            
  • 命令说明:返回x的反余弦值。

    如果x>1或者x<-1,返回结果为null

  • 返回值类型:DOUBLE。
  • 示例:
        select acos(0.5);
        +--------------------+
        | acos(0.5)          |
        +--------------------+
        | 1.0471975511965979 |                    

TAN

tan(double x)            
  • 命令说明:返回x的正切值。
  • 返回值类型:DOUBLE。
  • 示例:
        select tan(8);
        +--------------------+
        | tan(8)             |
        +--------------------+
        | -6.799711455220379 |                    

ATAN

atan(double x)            
  • 命令说明:返回x的反正切值。
  • 返回值类型:DOUBLE。
  • 示例:
        select atan(0.5);
        +--------------------+
        | atan(0.5)          |
        +--------------------+
        | 0.4636476090008061 |                   

ATAN2

atan2(double x, double y)
atan(double x, double y)            
  • 命令说明:返回参数x除以参数y之后的反正切值。
  • 返回值类型:DOUBLE。
  • 示例:
        select atan2(0.5,0.3);
        +--------------------+
        | atan2(0.5, 0.3)    |
        +--------------------+
        | 1.0303768265243125 |                   
        select atan(0.5,0.3);
        +--------------------+
        | atan(0.5, 0.3)     |
        +--------------------+
        | 1.0303768265243125 |                    

COT

cot(double x)            
  • 命令说明:返回x的余切值。
  • 返回值类型:DOUBLE。
  • 示例:
        select cot(1.234);
        +---------------------+
        | cot(1.234)          |
        +---------------------+
        | 0.35013639786701445 |                    

ASIN

asin(double x)            
  • 命令说明:返回x的反正弦值。
  • 返回值类型:DOUBLE。
  • 示例:
        select asin(0.5);
        +--------------------+
        | asin(0.5)          |
        +--------------------+
        | 0.5235987755982989 |                    

SIN

sin(double x)            
  • 命令说明:返回x的正弦值。
  • 返回值类型:DOUBLE。
  • 示例:
        select sin(1.234);
        +--------------------+
        | sin(1.234)         |
        +--------------------+
        | 0.9438182093746337 |