使用什么数据类型存储经纬度?

作者:vkvi 来源:ITPOW(原创) 日期:2020-6-26

法一、使用 geography

在 SQL Server 中,有一种类型叫 geography,这个可以直接存储经纬度,有了这个类型,就可以直接从 SQL Server 中筛查距离在多少多少的记录,详细使用方法请参见:计算两个经纬度之间的直线距离-SQL Server 利用 geography 计算地理位置距离、距我最近排序

法二、使用 decimal

如果我们 SQL Server 版本过低,或者我们希望有更高的程序兼容性,就可能不使用前面提到的 geography 了。而转用 decimal 存储,使用正、负区分东经西经、南纬北纬。

decimal 存储有个好处:可以方便地验证数据格式和范围。

但是要注意:我们怎样表示没有填经纬度的情况?如果我们是全球的,建议使用 null;如果我们只针对中国,可以使用 0 表示没填,因为我们中国的经纬度不在 0。

法三、使用文本

文本的好处是使用零长度字符串方便地表示没有填经纬度。

相关文章