You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL中将弧度转换为以正北为0°的角度

MySQL 弧度转自定义方向角度解决方案

常规DEGREES()函数转换后的角度遵循数学坐标系规则(0°对应正东,逆时针递增),要实现0°对应正北、90°对应正东、180°对应正南、270°对应正西的自定义方向转换,可使用以下公式:

(90 - DEGREES(your_radian_value) + 360) % 360

公式说明

  • DEGREES(your_radian_value):将输入的弧度值转换为数学坐标系角度
  • 90 - DEGREES(...):将坐标系原点从正东偏移至正北,匹配自定义方向的起始规则
  • + 360:避免计算出现负数结果
  • % 360:确保最终结果始终落在0°~360°的有效范围内

示例验证

  • 输入弧度值0(对应正东),转换后应为90°:
SELECT (90 - DEGREES(0) + 360) % 360 AS target_degree;
-- 输出:90
  • 输入弧度值PI()/2(对应正北),转换后应为0°:
SELECT (90 - DEGREES(PI()/2) + 360) % 360 AS target_degree;
-- 输出:0
  • 输入弧度值PI()(对应正西),转换后应为270°:
SELECT (90 - DEGREES(PI()) + 360) % 360 AS target_degree;
-- 输出:270
  • 输入弧度值3*PI()/2(对应正南),转换后应为180°:
SELECT (90 - DEGREES(3*PI()/2) + 360) % 360 AS target_degree;
-- 输出:180

可选优化

如果需要保留指定小数位数,可结合ROUND()函数:

SELECT ROUND((90 - DEGREES(your_radian_value) + 360) % 360, 3) AS target_degree;

内容的提问来源于stack exchange,提问作者Pieter Pauwels

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 20:55:24