mysql使用st_distance_sphere函数报错Incorrect arguments to st_distance_sphere

最近发现执行mysql st_distance_sphere报错了。

报错的信息是Incorrect arguments to st_distance_sphere。

最开始以为是跟mysql的版本有关系,所以看了下自己本地的mysql版本,执行一下sql

复制代码
select version();

发现自己本地的mysql版本是

5.7.30

这个版本是支持st_distance_sphere函数的。

但是,仍旧报错,后来考虑使用st_distance,st_distance函数执行是不会报错的。

查了下,st_distance_sphere是比st_distance相对更精确些,所以就抱着精确的心理,看看如何解决执行st_distance_sphere函数报错的问题。

最后,发现了原因,在处理数据将数据插入到mysql的脚本中

复制代码
`location` point NOT NULL

location的字段存储的point数据,没有按照要求存储,错误的存储成POINT(纬度 经度),正确的应该存储城经度在前,纬度在后,正确的格式数据如下图

其实英文原文的文档中也有对这个描述

SQL Error (1210): Incorrect arguments to st_distance_sphere

The geometry arguments should consist of points that specify (longitude, latitude) coordinate values: Longitude and latitude are the first and second coordinates of the point, respectively. Both coordinates are in degrees

相关推荐
海盗123435 分钟前
MySQL主从复制的配置方式
android·mysql·adb
前进的李工2 小时前
SQL聚合函数与分组查询详解
数据库·sql·mysql
Evan10243 小时前
MySQL 8.4.7版本下载&安装详细教程(Win11环境)
mysql
2301_800050993 小时前
mysql
数据库·笔记·mysql
数据皮皮侠4 小时前
2m气温数据集(1940-2024)
大数据·数据库·人工智能·制造·微信开放平台
Psycho_MrZhang4 小时前
Redis 设计思想总结
数据库·redis·缓存
曹牧5 小时前
Java:Assert.isTrue()
java·前端·数据库
程序员葫芦娃6 小时前
【Java毕设项目】基于SSM的旅游资源网站
java·开发语言·数据库·编程·课程设计·旅游·毕设
2401_865854886 小时前
怎样挑选适合业务的数据库云服务?
数据库
lkbhua莱克瓦246 小时前
基础-函数
开发语言·数据库·笔记·sql·mysql·函数