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

相关推荐
野熊佩骑2 小时前
CentOS7二进制安装包方式部署K8S集群之ETCD集群部署
运维·数据库·云原生·容器·kubernetes·centos·etcd
野生技术架构师2 小时前
聊聊五种 Redis 部署模式
数据库·redis·缓存
IndulgeCui3 小时前
【金仓数据库产品体验官】KES-ORACLE兼容模式再体验之FLASHBACK
数据库
zxsz_com_cn4 小时前
钢铁厂设备健康监测系统:AIoT技术驱动的智慧运维革命
数据库
chirrupy_hamal6 小时前
PostgreSQL 流复制参数 - synchronous_standby_names
数据库·postgresql
TiAmo zhang7 小时前
什么是SQL Server 2019?
数据库·sqlserver
问道飞鱼7 小时前
【数据库知识】TxSQL 主从数据库同步底层原理深度解析
网络·数据库·半同步复制·txsql
大有数据可视化7 小时前
数字孪生背后的大数据技术:时序数据库为何是关键?
大数据·数据库·人工智能
lang201509288 小时前
揭秘InnoDB磁盘I/O与存储空间管理
数据库·mysql
swaveye90608 小时前
轻量服务器创建mysql,并配置远程连接
服务器·mysql·adb