2010-10-06 62 views

回答

1

的功能,你只是想分割字符串?如果是这样的话:

declare @LatLng varchar(100) 
set @LatLng = '33.0000;15.222222' 

declare @Lat float 
declare @Lng float 

select @Lat = CAST(LEFT(@LatLng, charindex(';',@LatLng)-1) as float) 
select @Lng = CAST(SUBSTRING(@LatLng, charindex(';',@LatLng)+1, LEN(@LatLng)-charindex(';',@LatLng)) as float) 

select @Lat as Latitude, @Lng as Longitude 
+0

Joe,这对于输入值是正确的,但是在WHERE(@R * 2 * ATN2(SQRT((SIN((RADIANS(CAST(LEFT(GeoLatLng, charindex(';',GeoLatLng)-1)as float) - @ lat2Compare))/ 2)没有更好的方法吗? – user325558 2010-10-06 15:20:22

+0

你可能有几个选项。 。编写用户定义的函数来封装字符串分割并在where子句中使用这些函数。 – 2010-10-06 16:01:31

相关问题