三角學(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