MySQL การใช้งานฟังก์ชัน ACOS()

ฟังก์ชัน ACOS() (Arc Cosine) ใน MySQL ใช้เพื่อคำนวณค่า “arc cosine” ของจำนวนที่กำหนด (เป็นค่ามุมในหน่วยเรเดียน)

ประโยชน์ของฟังก์ชัน ACOS()

  • ใช้ในการคำนวณมุมจากค่า cosine ในงานทางคณิตศาสตร์ วิทยาศาสตร์ หรือวิศวกรรม
  • ใช้ในการคำนวณระยะทางบนทรงกลม เช่น หาระยะทางระหว่างพิกัด GPS (Great-circle distance)
  • ใช้ในระบบเกม, การวิเคราะห์ภาพ, การคำนวณทางเรขาคณิต หรือกราฟิก 3 มิติ

รูปแบบการใช้งาน

ACOS(x)
  • x คือตัวเลขที่อยู่ในช่วง -1 ถึง 1
    • หาก x อยู่นอกเหนือจากช่วงนี้ ผลลัพธ์จะเป็น NULL
    • หาก x เป็น NULL จะคืนค่า NULL

ช่วงค่าที่ได้จาก ACOS()

ค่าของ x ผลลัพธ์ ACOS(x) (เรเดียน)
1 0
0 π/2 ≈ 1.5708
-1 π ≈ 3.1416

ตัวอย่างการใช้งาน

SQL
SELECT ACOS(1);         -- ผลลัพธ์: 0
SELECT ACOS(0);         -- ผลลัพธ์: 1.5707963267949
SELECT ACOS(-1);        -- ผลลัพธ์: 3.1415926535898
SELECT ACOS(2);         -- ผลลัพธ์: NULL (เพราะเกินช่วง)
SELECT ACOS(NULL);      -- ผลลัพธ์: NULL

ตัวอย่างจากการประยุกต์ใช้ (เช่น คำนวณระยะห่างระหว่างพิกัด GPS)

สูตร Haversine หรือ Spherical Law of Cosines ใช้ ACOS() เพื่อคำนวณระยะทาง

SQL
SELECT 6371 * ACOS(
    COS(RADIANS(13.7563)) * COS(RADIANS(14.9799)) *
    COS(RADIANS(102.6529) - RADIANS(100.5018)) +
    SIN(RADIANS(13.7563)) * SIN(RADIANS(14.9799))
) AS distance_km;
  • 6371 คือรัศมีของโลก (กิโลเมตร)
  • พิกัดตัวอย่าง: กรุงเทพฯ (13.7563, 100.5018) → นครราชสีมา (14.9799, 102.6529)
  • ACOS() ใช้คำนวณมุมระหว่างจุดสองจุดบนโลก

หมายเหตุ

  • ค่าที่รับได้ต้องอยู่ในช่วง -1 ถึง 1 เท่านั้น
  • ค่าที่เกินช่วงนี้จะคืนค่า NULL
  • ฟังก์ชันนี้คำนวณเป็นเรเดียน หากต้องการเป็น “องศา” ให้แปลงโดยสูตร DEGREES(ACOS(x))
  • ใช้กับตัวเลขทศนิยมที่มีความแม่นยำสูงจะให้ผลลัพธ์แม่นยำกว่า
แชร์เรื่องนี้