Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server 2008 R2:将数据类型varchar转换为几何体_Sql_Sql Server_Sql Server 2008 R2_Geometry - Fatal编程技术网

SQL Server 2008 R2:将数据类型varchar转换为几何体

SQL Server 2008 R2:将数据类型varchar转换为几何体,sql,sql-server,sql-server-2008-r2,geometry,Sql,Sql Server,Sql Server 2008 R2,Geometry,我正在用几何体路径条件的一些值更新表 在下面的示例中:我将表名传递为@table,@ColumnA(用于设置新值),@GeoPath(用于签入) 动态scipt的条件)如下所示: @Table = 'Table1' @ColumnA = 'A' @GeoPath = 0xE610000001040500000061574D5E31433140000000003EAF52405E3B0D825B92314000000000AACA52407BEECBC0FB263140000000001 S

我正在用几何体路径条件的一些值更新表

在下面的示例中:我将表名传递为
@table
@ColumnA
(用于设置新值),
@GeoPath
(用于签入) 动态scipt的条件)如下所示:

@Table = 'Table1'

@ColumnA = 'A'

@GeoPath = 0xE610000001040500000061574D5E31433140000000003EAF52405E3B0D825B92314000000000AACA52407BEECBC0FB263140000000001

SET @query =    'Update ['+@Table+']
                 SET ColumnA = '''+@ColumnA+'''
                 WHERE CONVERT(Geometry,'+CAST(@GeoPath AS varchar(MAX))+').STIntersects(geometry::Point(Latitude,Longitude, 4326))= 1';
PRINT(@query);

EXECUTE(@query);
但是得到错误:

将数据类型varchar转换为几何体时出错


使用
地理
几何体
时,您需要指定更多信息,而不仅仅是从一种类型转换为另一种类型

例如,这是将多边形二进制数据转换回地理类型

DECLARE @g geography; 
SET @g = geography::STPolyFromWKB(0x01030000000100000005000000F4FDD478E9965EC0DD24068195D3474083C0CAA145965EC0508D976E12D3474083C0CAA145965EC04E62105839D44740F4FDD478E9965EC04E62105839D44740F4FDD478E9965EC0DD24068195D34740, 4326);
SELECT @g
这里是相同的例子,但这次是从文本

DECLARE @g_text geography; 
SET @g_text = geography::STPolyFromText('POLYGON ((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);
SELECT @g_text
我不确定你有什么类型的二进制数据来转换它。只要确保您使用的是正确的转换方法


阅读更多关于

你的变量是什么?@Paddy,好的!让我来编辑。@Paddy,请查看编辑后的帖子。@jarlh,谢谢您的编辑。你能帮我吗?