#ASIN

asin
ASIN ( expr )

ASIN函数返回给定参数的反正弦值,参数以弧度表示,大小在区间[-1,1],函数将返回一个大小在区间[-π/2,π/2]的数值。

本函数的规则如下:

  • expr的值为数值型或可以转换为NUMBER类型的字符型(转换失败返回Invalid number错误)。对于其他类型,函数返回类型不支持。

  • 当expr的值为NULL时,函数返回NULL。

  • 当expr的值为Nan、Inf、-Inf或超出[-1,1]范围的值时,函数处理规则受配置参数MATH_FUNC_RETURN_DECIMAL影响:

    • 若MATH_FUNC_RETURN_DECIMAL = FALSE(默认值),处理规则如下:

      expr ASIN(expr)
      Nan、Inf、-Inf Nan
      超出[-1,1] Nan
    • 若MATH_FUNC_RETURN_DECIMAL = TRUE,处理规则如下:

      expr ASIN(expr)
      Nan、Inf、-Inf 函数返回错误
      超出[-1,1] 函数返回错误
  • 当expr为其他有效值时,函数返回值类型同样受配置参数MATH_FUNC_RETURN_DECIMAL影响:

    • 若MATH_FUNC_RETURN_DECIMAL = TRUE且expr的值不含FLOAT或DOUBLE类型,函数返回NUMBER类型。

    • 否则,函数返回DOUBLE类型。

示例1

SHOW PARAMETER MATH_FUNC_RETURN_DECIMAL

NAME                                           VALUE
---------------------------------------------- --------------------------------
MATH_FUNC_RETURN_DECIMAL                    FALSE

SELECT ASIN(0) res FROM DUAL;
        RES
-----------
          0

SELECT ASIN(-1) res FROM DUAL;
        RES
-----------
 -1.57E+000

SELECT ASIN(1) res FROM DUAL;
        RES
-----------
 1.571E+000

SELECT ASIN(0.5) res FROM DUAL;
        RES
-----------
 5.236E-001

SELECT ASIN(2) res FROM DUAL;
        RES
-----------
       Nan

示例2

SHOW PARAMETER MATH_FUNC_RETURN_DECIMAL

NAME                                           VALUE
---------------------------------------------- --------------------------------
MATH_FUNC_RETURN_DECIMAL                    TRUE

SELECT ASIN(0) res FROM DUAL;
        RES
-----------
          0

SELECT ASIN(2) res FROM DUAL;
YAS-04426 the argument value is out of range

SELECT ASIN('nan') res FROM DUAL;
YAS-04426 the argument value is out of range
pdf-btn 下载文档 copy-btn 复制链接
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流