MySQL中如何利用TAN或SIN计算三角函数_MySQL数学函数

MySQL有SIN、TAN等三角函数,但只接受弧度输入;需用RADIANS()转换度数,如SIN(RADIANS(90))=1.0,直接SIN(90)是按90弧度计算;注意浮点精度、NULL处理、索引失效及性能优化。MySQL里没有TAN和SIN函数?其实是有的,但要注意单位MySQL原生支持SIN、COS、TAN等三角函数,但它们**只接受弧度(radians)输入**,不是度数。直接传90进去算SIN(90),结果是0.8939966636005579------因为MySQL把它当成了90弧度,不是90度。要算sin(90°),得先转弧度:SIN(RADIANS(90)) → 1.0同理,TAN(RADIANS(45))才是1.0;写成TAN(45)得到的是1.6197751905438615(45弧度≈2578°)RADIANS()和DEGREES()是配套的,别只记一半为什么SIN(0)返回0但SIN(180)不等于0?这是浮点精度和单位混淆叠加的结果。你以为SIN(180)在算180°的正弦,其实MySQL在算180弧度的正弦------而180弧度 ≈ 10313°,根本不在周期整数倍上。正确写法:SIN(RADIANS(180)) → -1.2246467991473532e-16(接近0,浮点误差)如果业务需要严格等于0(比如判断象限),别直接比较= 0,改用ABS(SIN(RADIANS(x))) 注意:MySQL的PI()返回的是近似值,SIN(PI())也不等于0,而是约1.2246e-16在WHERE或ORDER BY里用TAN要小心除零和定义域TAN在π/2 + kπ处无定义,对应角度是90°、270°、450°......MySQL遇到这些输入会返回NULL,不是报错。这在过滤或排序时容易漏数据。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

相关推荐
花酒锄作田3 小时前
[python]argparse 包在聊天机器人中的应用
python
NiceCloud喜云5 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
ccddsdsdfsdf5 小时前
DBeaver怎么链接mongoDB
数据库·mongodb
AI玫瑰助手5 小时前
Python函数:默认参数的定义与注意事项
开发语言·python·信息可视化
weixin_468466855 小时前
全局与局部注意力机制新手实战指南
人工智能·python·深度学习·算法·自然语言处理·transformer·注意力机制
小糖学代码6 小时前
LLM系列:环境搭建:5.Python-dotenv 环境变量管理
人工智能·python·深度学习·神经网络
丷丩6 小时前
Postgresql基础实践教程(十一)各种Join
数据库·postgresql·join
星夜夏空996 小时前
FreeRTOS学习(4)——内存映射
数据库·学习·mongodb
智慧物业老杨6 小时前
智慧物业合同周期管理系统:从风险预警到智能交接的全流程数智化落地方案
java·人工智能·python
橙橙笔记6 小时前
Python的学习第一部分
python·学习