我已经将我的曲目记录到一个文本文件中,现在我想将它作为 Point 类型插入到 SQL Server 2008 R2 数据库的表中。
我使用 OpenRowSet 读取我的文本文件并将每一行插入到临时表中。然后我解析每一行并将正确的值插入到真实表中。文件中的每一行如下所示:
$GPRMC,101142.415,A,6210.1547,N,02929.2220,E,3.9,231.8,150310,,,A*62
我正在用这样的代码解析纬度和经度:
INSERT INTO Track(Point)
SELECT
geography::Point(
SUBSTRING(entry,21,2)+'.'+SUBSTRING(entry,23,2)+
SUBSTRING(entry,26,CHARINDEX(',',entry,26)-26),
SUBSTRING(entry,33,3)+'.'+SUBSTRING(entry,36,2)+
SUBSTRING(entry,39,CHARINDEX(',',entry,39)-39)
,4326)
FROM #MYTEMP
之后,当我查看真实表(名为 Track)时,我看到了类似的内容:
Point
0xE6100000010CE200FA7DFF0C4F40B43C0FEECE4A3D40
这些点被放置在地图上的正确位置(使用 SQL Management Studio 中的空间结果选项卡),但是否有可能将它们视为数据库中的正常地理值?