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