在 SQL 数据库中存储纬度和经度数据时使用什么数据类型? [英] What datatype to use when storing latitude and longitude data in SQL databases?

查看:38
本文介绍了在 SQL 数据库中存储纬度和经度数据时使用什么数据类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在符合 ANSI SQL 的数据库中存储纬度或经度数据时,哪种数据类型最合适?应该使用float,还是decimal,还是...?

When storing latitude or longitude data in an ANSI SQL compliant database, what datatype would be most appropriate? Should float be used, or decimal, or ...?

我知道 Oracle、MySql 和 SQL Server 已经添加了一些专门用于处理地理数据的特殊数据类型,但我对如何将信息存储在普通"SQL 数据库中很感兴趣.

I'm aware that Oracle, MySql, and SQL Server have added some special datatypes specifically for handling geo data, but I'm interested in how you would store the information in a "plain vanilla" SQL database.

推荐答案

纬度使用:Decimal(8,6),经度使用:Decimal(9,6)

For latitudes use: Decimal(8,6), and longitudes use: Decimal(9,6)

如果你不习惯精确和缩放参数,这里有一个格式字符串视觉:

If you're not used to precision and scale parameters, here's a format string visual:

纬度和经度##.#########.######

小数点后 6 位应该可以让您在坐标上达到约 10 厘米的精度.

To 6 decimal places should get you to around ~10cm of accuracy on a coordinate.

这篇关于在 SQL 数据库中存储纬度和经度数据时使用什么数据类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆