本文介绍如何通过SQL语句根据经纬度计算距离。SQL语句中要到了ACOS、COS、SIN、RADIANS等SQL函数。
1、创建测试表
执行以下SQL语句创建测试表。
CREATE TABLE `test` (
`id` bigint(20) NOT NULL COMMENT '编号',
`lon` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '经度',
`lat` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '纬度',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
2、插入模拟数据
执行以下SLQ创建模拟数据。
INSERT INTO `test` VALUES (1, '113.66072', '34.79977')