数学函数

SQL分析提供了常见的数学函数供您在开发过程中使用,您可以根据实际需要选择合适的数学函数,进行数据计算、数据转换相关操作。本文为您提供SQL分析支持的数学函数的命令格式、参数说明及示例,指导您使用数学函数完成开发。

SQL分析支持的数学函数如下。

函数

功能

ABS

计算绝对值。

ACOS

计算反余弦值。

ATAN2

计算expr1/expr2的反正切值。

ASIN

计算反正弦值。

ATAN

计算反正切值。

CEIL

计算向上取整值。

CONV

计算进制转换值。

CORR

计算皮尔逊系数。

COS

计算余弦值。

COSH

计算双曲余弦值。

COT

计算余切值。

DEGREES

将弧度转换为角度。

E

返回e的值。

EXP

计算指数值。

FLOOR

计算向下取整值。

FORMAT_NUMBER

将数字转化为指定格式的字符串。

LN

计算自然对数。

LOG

计算log对数值。

LOG10

计算以10为底的对数。

LOG2

计算以2为底的对数。

NEGATIVE

返回表达式的负值。

PI

返回π的值。

POSITIVE

返回表达式的值。

POW

计算幂值。

RADIANS

将角度转换为弧度。

RAND

返回随机数。

ROUND

返回四舍五入到指定小数点位置的值。

SHIFTLEFT

计算按位左移值。

SHIFTRIGHT

计算按位右移值。

SHIFTRIGHTUNSIGNED

计算无符号按位右移值。

SIGN

返回输入参数的符号。

SIN

计算正弦值。

SINH

计算双曲正弦值。

SQRT

计算平方根。

TAN

计算正切值。

TANH

计算双曲正切值。

ABS

  • 命令格式

    bigint|double|decimal abs(<number>)
  • 命令说明

    计算number的绝对值。

  • 参数说明

    number:必填。DOUBLE、BIGINT或DECIMAL类型。输入为STRING时,会隐式转换为DOUBLE类型后参与运算。

    说明

    当输入BIGINT类型的值超过BIGINT的最大表示范围时,会返回DOUBLE类型,但可能会损失精度。

  • 返回值说明

    返回值类型取决于输入参数的类型。返回规则如下:

    • number为DOUBLE、BIGINT或DECIMAL类型时会返回相应的类型。

    • number为STRING类型时,返回DOUBLE类型。

    • number为NULL,则返回NULL。

  • 示例

  • --返回NULL。
    select abs(null);
    --返回1。
    select abs(-1);
    --返回1.2。
    select abs(-1.2);
    --返回2.0。
    select abs("-2");
    --返回1.2232083745629837E32。
    select abs(122320837456298376592387456923748);
    --取tbl1表内id字段的绝对值。下面是一个完整的ABS函数在SQL中使用的示例,其他内建函数(除窗口函数和聚合函数外)的使用方式与其类似。
    select abs(id) from tbl1;

ACOS

  • 命令格式

    double|decimal acos(<number>)
  • 命令说明

    计算number的反余弦函数。

  • 参数说明

    number:必填。取值范围为[-1,1]。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回值类型取决于输入参数的类型。值域在0~π之间。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值不在[-1,1]范围内时,返回NULL。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回0.5155940062460905。
    select acos("0.87");
    --返回1.5707963267948966。
    select acos(0);
    --返回NULL。
    select acos(null);

ATAN2

  • 命令格式

    double atan2(<expr1>, <expr2>)
  • 命令说明

    计算expr1/expr2的反正切函数。

  • 参数说明

    • expr1:必填。DOUBLE类型。输入为STRING、BIGINT、DECIMAL类型时,会隐式转换为DOUBLE类型后参与运算。

    • expr2:必填。DOUBLE类型。输入为STRING、BIGINT、DECIMAL类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE类型。值域在-π/2~π/2之间。expr1expr2值为NULL时,返回NULL。

  • 示例

    --返回0.0。
    select atan2(0, 0);

ASIN

  • 命令格式

    double|decimal asin(<number>)
  • 命令说明

    计算number的反正弦函数。

  • 参数说明

    number:必填。取值范围为[-1,1]。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回值类型取决于输入参数的类型。值域在-π/2~π/2之间。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值不在[-1,1]范围内时,返回NULL。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回1.5707963267948966。
    select asin(1);
    --返回-1.5707963267948966。
    select asin(-1);
    --返回NULL。
    select asin(null);

ATAN

  • 命令格式

    double atan(<number>)
  • 命令说明

    计算number的反正切函数。

  • 参数说明

    number:必填。DOUBLE类型。输入为STRING、BIGINT、DECIMAL类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE类型。值域在-π/2~π/2之间。number值为NULL时,返回NULL。

  • 示例

  • --返回0.7853981633974483。
    select atan(1);
    --返回-0.7853981633974483。
    select atan(-1);
    --返回NULL。
    select atan(null);

CEIL

  • 命令格式

    bigint ceil(<value>)
  • 命令说明

    向上取整,返回不小于输入值value的最小整数。

  • 参数说明

    value:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回BIGINT类型。number值为NULL时,返回NULL。

  • 示例

  • --返回2。
    select ceil(1.1);
    --返回-1。
    select ceil(-1.1);
    --返回NULL。
    select ceil(null);

CONV

  • 命令格式

    string conv(<input>, bigint <from_base>, bigint <to_base>)
  • 命令说明

    该函数为进制转换函数。

  • 参数说明

    • input:必填。以STRING表示的要转换的整数值,支持BIGINT和DOUBLE的隐式转换。

    • from_baseto_base:必填。以十进制表示的进制值,支持的值为2、8、10和16。支持STRING及DOUBLE类型的隐式转换。

  • 返回值说明

    返回STRING类型。返回规则如下:

    • inputfrom_baseto_base值为NULL时,返回NULL。

    • 转换过程以64位精度工作,溢出时返回NULL。

    • input如果是负值,即以短划线(-)开头,返回NULL。如果输入的是小数,会转为整数值后进行进制转换,小数部分会被舍弃。

  • 示例

  • --返回12。
    select conv('1100', 2, 10);
    --返回C。
    select conv('1100', 2, 16);
    --返回171。
    select conv('ab', 16, 10);
    --返回AB。
    select conv('ab', 16, 16);
    --返回NULL。
    select conv('1100', null, 10);

CORR

  • 命令格式

    double corr(<col1>, <col2>)
  • 命令说明

    计算两列数据的皮尔逊系数(Pearson Correlation Coefficien)。

  • 参数说明

    col1col2:必填。待计算皮尔逊系数的表的两个列名称。DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL类型。col1col2的数据类型可以不相同。

  • 返回值说明

    返回DOUBLE类型。如果某一输入列的某一行存在NULL值,该行不参与计算。

COS

  • 命令格式

    double|decimal cos(<number>)
  • 命令说明

    计算number的余弦函数,输入为弧度值。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回2.6794896585028633e-8。
    select cos(3.1415926/2);
    --返回-0.9999999999999986。
    select cos(3.1415926);
    --返回NULL。
    select cos(null);

COSH

  • 命令格式

    double|decimal cosh(<number>)
  • 命令说明

    计算number的双曲余弦函数。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回2.5091784169949913。
    select cosh(3.1415926/2);
    --返回NULL。
    select cosh(null);

COT

  • 命令格式

    double|decimal cot(<number>)
  • 命令说明

    计算number的余切函数,输入为弧度值。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回2.6794896585028643E-8。
    select cot(3.1415926/2);
    --返回NULL。
    select cot(null);

DEGREES

  • 命令格式

    double degrees(<number>) 
  • 命令说明

    将弧度转换为角度。

  • 参数说明

    number:必填。DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、STRING类型。

  • 返回值说明

    返回DOUBLE类型。number值为NULL时,返回NULL。

  • 示例

  • --返回90.0。
    select degrees(1.5707963267948966);
    --返回0.0。
    select degrees(0);
    --返回NULL。
    select degrees(null);

E

  • 命令格式

    double e()
  • 命令说明

    返回e的值。

  • 返回值说明

    返回DOUBLE类型。

  • 示例

    --返回2.718281828459045。
    select e();

EXP

  • 命令格式

    double|decimal exp(<number>)
  • 命令说明

    计算number的指数函数。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回4.810477252069109。
    select exp(3.1415926/2);
    --返回NULL。
    select exp(null);

FLOOR

  • 命令格式

    bigint floor(<number>)
  • 命令说明

    向下取整,返回不大于number的最大整数值。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回BIGINT类型。number值为NULL时,返回NULL。

  • 示例

  • --返回1。
    select floor(1.2);
    --返回0。
    select floor(0.1);
    --返回-2。
    select floor(-1.2);
    --返回-1。
    select floor(-0.1);
    --返回0。
    select floor(0.0);
    --返回0。
    select floor(-0.0);
    --返回NULL。
    select floor(null);

FORMAT_NUMBER

  • 命令格式

    string format_number(float|double|decimal <expr1>, <expr2>)
  • 命令说明

    将数字转化为指定格式的字符串。

  • 参数说明

    • expr1:必填。需要格式化的数据。DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、STRING类型。

    • expr2:必填。需要转化的目标格式。指定需要保留小数位数。也可以为类似#,###,###.##格式描述。

  • 返回值说明

    返回STRING类型数据。返回规则如下:

    • 如果expr2>0,则四舍五入到小数点后指定位数。

    • 如果expr2=0,则没有小数点或小数部分。

    • 如果expr2<0,或者expr2>340,则返回报错。

    • expr1expr2值为NULL时,返回NULL。

  • 示例

  • --返回5.230。
    select format_number(5.230134523424545456,3);
    --返回12,332.123。
    select format_number(12332.123456, '#,###,###,###.###');
    --返回NULL。
    select format_number(null,3);

ISNAN

  • 命令格式

    boolean isnan(<expr>)
  • 命令说明

    判断expr的值是否为NaN

  • 参数说明

    expr:必填。DOUBLE类型。输入为STRING、BIGINT、DECIMAL类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    • 如果expr的值为NaN,返回True,否则返回False。

    • expr的值为NULL时,返回False。

  • 示例

    --返回False。
    SELECT isnan(100.1);

LN

  • 命令格式

    double|decimal ln(<number>)
  • 命令说明

    计算number的自然对数。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值为负数或0时,返回NULL。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回1.144729868791239。
    select ln(3.1415926);
    --返回NULL。
    select ln(null);

LOG

  • 命令格式

    double log(<base>, <x>)
  • 命令说明

    计算以base为底的x的对数。

  • 参数说明

    • base:必填。底数。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

    • x:必填。待计算对数的值。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE类型。 返回规则如下:

    • basex为NULL时,返回NULL。

    • basex为负数或0时,返回NULL。

    • 如果base为1(会引发一个除零行为),会返回NULL。

  • 示例

  • --返回4.0。
    select log(2, 16);
    --返回NULL。
    select log(2, null);

LOG10

  • 命令格式

    double log10(<number>)
  • 命令说明

    返回以10为底,number的对数。

  • 参数说明

    number:必填。DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、STRING类型。

  • 返回值说明

    返回DOUBLE类型。number值为0、负数或NULL时,返回NULL。

  • 示例

  • --返回NULL。
    select log10(null);
    --返回NULL。
    select log10(0);
    --返回0.9030899869919435。
    select log10(8);

LOG2

  • 命令格式

    double log2(<number>)
  • 命令说明

    返回以2为底,number的对数。

  • 参数说明

    number:必填。DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、STRING类型。

  • 返回值说明

    返回DOUBLE类型。number值为0、负数或NULL时,返回NULL。

  • 示例

  • --返回NULL。
    select log2(null);
    --返回NULL。
    select log2(0);
    --返回3.0。
    select log2(8);

NEGATIVE

  • 命令格式

    TINYINT|SMALLINT|INT|BIGINT|DOUBLE|DECIMAL negative(TINYINT|SMALLINT|INT|BIGINT|DOUBLE|DECIMAL <expr>)
  • 命令说明

    返回expr的负值。

  • 参数说明

    expr:必填。输入表达式,支持TINYINT、SMALLINT、INT、BIGINT、DOUBLE、DECIMAL类型。

  • 返回值说明

    返回expr表达式的负值。

  • 示例

    --返回-1。
    SELECT negative(1);

PI

  • 命令格式

    double pi()
  • 命令说明

    返回π的值。

  • 返回值说明

    返回DOUBLE类型。

  • 示例

    --返回3.141592653589793。
    select pi();

POSITIVE

  • 命令格式

    TINYINT|SMALLINT|INT|BIGINT|DOUBLE|DECIMAL positive(TINYINT|SMALLINT|INT|BIGINT|DOUBLE|DECIMAL <expr>)
  • 命令说明

    返回expr的值。

  • 参数说明

    expr:必填。输入表达式,支持TINYINT、SMALLINT、INT、BIGINT、DOUBLE、DECIMAL类型。

  • 返回值说明

    返回expr表达式的值。

  • 示例

    --返回1。
    SELECT positive(1);

POW

  • 命令格式

    double|decimal pow(<x>, <y>)
  • 命令说明

    计算xy次方,即x^y

  • 参数说明

    • x:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

    • y:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • xy为DOUBLE、DECIMAL类型时会返回相应的类型。

    • xy为STRING、BIGINT类型时,返回DOUBLE类型。

    • xy值为NULL时,返回NULL。

  • 示例

  • --返回65536.0。
    select pow(2, 16);
    --返回NULL。
    select pow(2, null);

RADIANS

  • 命令格式

    double radians(<number>)
  • 命令说明

    将角度转换为弧度。

  • 参数说明

    number:必填。DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、STRING类型。

  • 返回值说明

    返回DOUBLE类型。number值为NULL时,返回NULL。

  • 示例

  • --返回1.5707963267948966。
    select radians(90);
    --返回0.0。
    select radians(0);
    --返回NULL。
    select radians(null);

RAND

  • 命令格式

    double rand(bigint <seed>)
  • 命令说明

    返回DOUBLE类型的随机数,返回值区间是0~1。

  • 参数说明

    seed:可选。BIGINT类型。随机数种子,决定随机数序列的起始值。

    说明

    您可以通过seed确定随机数序列,seed确定后,即可固定该函数的返回结果。执行环境是一样的情况下,seed取值不变的话,返回值是一样的,如果需要返回不一样的结果,需要修改seed取值。

  • 返回值说明

    返回DOUBLE类型。

  • 示例

    --返回4.7147460303803655E-4。
    select rand();
    --返回0.7308781907032909。
    select rand(1);

ROUND

  • 命令格式

    double|decimal round(<number>[, bigint <decimal_places>])
  • 命令说明

    四舍五入到指定小数点位置。

  • 参数说明

    • number:必填。DOUBLE类型或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

    • decimal_places:可选。BIGINT类型常量,四舍五入计算到小数点后的位置。如果省略表示四舍五入到个位数,默认值为0。

      说明

      decimal_places可以是负数。负数会从小数点向左开始计数,并且不保留小数部分。如果decimal_places超过了整数部分长度,返回0。

  • 返回值说明

    返回DOUBLE类型或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • decimal_places非BIGINT类型时,返回报错。

    • numberdecimal_places值为NULL时,返回NULL。

  • 示例

  • --返回125.0。
    select round(125.315);
    --返回125.3。
    select round(125.315, 1);
    --返回125.32。
    select round(125.315, 2);
    --返回125.315。
    select round(125.315, 3);
    --返回-125.32。
    select round(-125.315, 2);
    --返回100.0。
    select round(123.345, -2);
    --返回NULL。
    select round(null);
    --返回123.345。
    select round(123.345, 4);
    --返回0.0。
    select round(123.345, -4);

SHIFTLEFT

  • 命令格式

    int shiftleft(tinyint|smallint|int <number1>, int <number2>)
    bigint shiftleft(bigint <number1>, int <number2>)
  • 命令说明

    按位左移(<<)。

  • 参数说明

    • number1:必填。TINYINT、SMALLINT、INT或BIGINT类型。

    • number2:必填。INT类型。

  • 返回值说明

    返回INT或BIGINT类型。返回规则如下

    • number1非TINYINT、SMALLINT、INT或BIGINT类型时,返回报错。

    • number2非INT类型时,返回报错。

    • number1number2值为NULL时,返回NULL。

  • 示例

  • --返回4。1的二进制左移2位(1<<2,0001左移两位是0100)。
    select shiftleft(1,2); 
    --返回32。4的二进制左移3位(4<<3,0100左移3位是100000)。
    select shiftleft(4,3);
    --返回NULL。
    select shiftleft(null,2);

SHIFTRIGHT

  • 命令格式

    int shiftright(tinyint|smallint|int <number1>, int <number2>)
    bigint shiftright(bigint <number1>, int <number2>)
  • 命令说明

    按位右移(>>)。

  • 参数说明

    • number1:必填。TINYINT、SMALLINT、INT或BIGINT类型。

    • number2:必填。INT类型。

  • 返回值说明

    返回INT或BIGINT类型。返回规则如下:

    • number1非TINYINT、SMALLINT、INT或BIGINT类型时,返回报错。

    • number2非INT类型时,返回报错。

    • number1number2值为NULL时,返回NULL。

  • 示例

  • --返回1。4的二进制右移2位(4>>2,1000右移两位是0001)。
    select shiftright(4,2);
    --返回4。32的二进制右移3位(32>>3,100000右移3位是0100)。
    select shiftright(32,3);
    --返回NULL。
    select shiftright(null,3);

SHIFTRIGHTUNSIGNED

  • 命令格式

    int shiftrightunsigned(tinyint|smallint|int <number1>, int <number2>)
    bigint shiftrightunsigned(bigint <number1>, int <number2>)
  • 命令说明

    无符号按位右移(>>>)。

  • 参数说明

    • number1:必填。TINYINT、SMALLINT、INT或BIGINT整型数据。

    • number2:必填。INT整型数据。

  • 返回值说明

    返回INT或BIGINT类型。返回规则如下:

    • number1非TINYINT、SMALLINT、INT或BIGINT类型时,返回报错。

    • number2非INT类型时,返回报错。

    • number1number2值为NULL时,返回NULL。

  • 示例

  • --返回2。8的二进制无符号右移2位(8>>>2,1000右移两位是0010)。
    select shiftrightunsigned(8,2);
    --返回1073741820。-14的二进制右移2位(-14>>>2, 11111111 11111111 11111111 11110010右移2位是00111111 11111111 11111111 11111100)。
    select shiftrightunsigned(-14,2);
    --返回NULL。
    select shiftrightunsigned(-14,null);

SIGN

  • 命令格式

    double sign(<number>)
  • 命令说明

    获取输入参数的符号。

  • 参数说明

    number:必填。DOUBLE、BIGINT、INT、SMALLINT、TINYINT、FLOAT、DECIMAL、STRING类型。

  • 返回值说明

    返回DOUBLE类型。返回规则如下:

    • number值为正数时,返回1.0。

    • number值为负数时,返回-1.0。

    • number值为0时,返回0.0。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回-1.0。
    select sign(-2.5);
    --返回1.0。
    select sign(2.5);
    --返回0.0。
    select sign(0);
    --返回NULL。
    select sign(null);

SIN

  • 命令格式

    double|decimal sin(<number>)
  • 命令说明

    计算number的正弦函数,输入为弧度值。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回-0.3048106211022167。
    select sin(60);
    --返回NULL。
    select sin(null);

SINH

  • 命令格式

    double|decimal sinh(<number>)
  • 命令说明

    计算number的双曲正弦函数。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回5.343237290762231E12。
    select sinh(30);
    --返回NULL。
    select sinh(null);

SQRT

  • 命令格式

    double|decimal sqrt(<number>)
  • 命令说明

    计算number的平方根。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型,必须大于0,小于0时返回NULL。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回2.0。
    select sqrt(4);
    --返回NULL。
    select sqrt(null);

TAN

  • 命令格式

    double|decimal tan(<number>)
  • 命令说明

    计算number的正切函数,输入为弧度值。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回-6.405331196646276。
    select tan(30);
    --返回NULL。
    select tan(null);

TANH

  • 命令格式

    double|decimal tanh(<number>)
  • 命令说明

    计算number的双曲正切函数。

  • 参数说明

    number:必填。DOUBLE或DECIMAL类型。输入为STRING、BIGINT类型时,会隐式转换为DOUBLE类型后参与运算。

  • 返回值说明

    返回DOUBLE或DECIMAL类型。返回规则如下:

    • number为DOUBLE、DECIMAL类型时会返回相应的类型。

    • number为STRING、BIGINT类型时,返回DOUBLE类型。

    • number值为NULL时,返回NULL。

  • 示例

  • --返回1.0。
    select tanh(30);
    --返回NULL。
    select tanh(null);