我有这个SQL命令,该命令GEOGRAPHY为空间数据创建一个带有-type列的表,该表用于存储纬度/经度对(点)。如何为该列设置默认值?例如,点(0,0)?
CREATE TABLE [dbo].[StationLocations] (
[Id] [int] NOT NULL,
[StationId] [int] NOT NULL,
[Position] [Geography],
CONSTRAINT [PKStationLocations] PRIMARY KEY CLUSTERED ([Id]))
Run Code Online (Sandbox Code Playgroud) 更新:已向Microsoft报告此情况.
在一个简单的(SQL Server 2012)表中,geography列(名称geopoint)填充了几个类似于此的简单行点.POINT (-0.120875610750927 54.1165118880234)执行
select [geopoint].[STAsText](),
[geopoint].Lat lat,
[geopoint].Long long
from mytable
Run Code Online (Sandbox Code Playgroud)
产生这个
Untitled1 lat long
POINT (-0.120875610750927 54.1165118880234) 54.1165118880234 -0.120875610750927
Run Code Online (Sandbox Code Playgroud)
看起来像一个bug,但它太基本了,应该在发布之前被捕获.我做错了什么?
添加了信息
IT专业人员应该在MSDN上查找Microsoft在SQL服务器上的实现细节.由于实施方面可能存在差异.按照这种情况.作为这证明我刚才检查PostGist的实现的ST_AsText一个geographic列.这很好用!结果是人们所期望的.因此,错误在于SQL的实现.上面例子的正确结果应该是
POINT (54.1165118880234 -0.120875610750927 ) 54.1165118880234 -0.120875610750927
Run Code Online (Sandbox Code Playgroud)
敢说我很可能还有其他与功能工作geographic列相关的错误.由于该领域的基本功能尚未经过全面测试.