三角学(SIN COS)
角度是弧度,而不是度数。所有计算均在 IEEE 754 64 位浮点中完成。所有浮点计算都会受到小错误的影响,称为机器ε(epsilon)错误 ,因此请避免尝试将它们进行相等性比较。使用浮点时无法避免这些错误; 它们内置于技术中。
如果在三角计算中使用 DECIMAL
值,它们将隐式转换为浮点数,然后再转换为十进制数。
正弦
返回以弧度表示的数字 X 的正弦值
SELECT SIN(PI()); -> 1.2246063538224e-16
余弦
当以弧度给出 X 时,返回 X 的余弦值
SELECT COS(PI()); -> -1
切线
返回以弧度表示的数字 X 的正切值。请注意,结果非常接近零,但不完全为零。这是机器ε的一个例子。
SELECT TAN(PI()); -> -1.2246063538224e-16
弧余弦(反余弦)
如果 X 在 -1 to 1
范围内,则返回 X 的反余弦值
SELECT ACOS(1); -> 0
SELECT ACOS(1.01); -> NULL
弧正弦(反正弦)
如果 X 在 -1 to 1
范围内,则返回 X 的反正弦值
SELECT ASIN(0.2); -> 0.20135792079033
反正切(反正切)
ATAN(x)
返回单个数字的反正切。
SELECT ATAN(2); -> 1.1071487177941
ATAN2(X, Y)
返回两个变量 X 和 Y 的反正切。它类似于计算 Y / X 的反正切。但它在数值上更稳健:当 X 接近零时,t 正确运行,并且使用两个参数的符号确定结果的象限。
最佳实践建议尽可能使用 ATAN2()
而不是 ATAN()
编写公式。
ATAN2(1,1); -> 0.7853981633974483 (45 degrees)
ATAN2(1,-1); -> 2.356194490192345 (135 degrees)
ATAN2(0, -1); -> PI (180 degrees) don't try ATAN(-1 / 0)... it won't work
余切
返回 X 的余切
SELECT COT(12); -> -1.5726734063977
转变
SELECT RADIANS(90) -> 1.5707963267948966
SELECT SIN(RADIANS(90)) -> 1
SELECT DEGREES(1), DEGREES(PI()) -> 57.29577951308232, 180