2010-11-19 56 views
0

为什么这项工作SQL字符串地理学解析

select geography::STGeomFromText('POINT(-77.010996 38.890358)',4326) 

但这并不

declare @Latitude decimal(9,6) = 38.890358 
declare @Longitude decimal(9,6) = -77.010996 

select geography::STGeomFromText('''POINT(' + 
cast(@Longitude as nvarchar(15)) + ' ' + 
cast(@Latitude as nvarchar(15)) +')''',4326) 

我缺少什么,他们似乎有效的是同样的事情。

回答

4

摆脱在开始时额外的报价,并最终

declare @Latitude decimal(9,6) = 38.890358 
declare @Longitude decimal(9,6) = -77.010996 

select geography::STGeomFromText('POINT(' + 
cast(@Longitude as nvarchar(15)) + ' ' + 
cast(@Latitude as nvarchar(15)) +')',4326) 
+0

哇,我觉得自己像一个傻瓜。只是其中一个大脑放屁的时刻,谢谢。 – keithwarren7 2010-11-19 21:40:51