SQL Server 地理结果格式

3

使用SQL Server Management Studio:

declare @g geography
set @g = geography::Point(-77.1851436,39.1065236,4326)
select @g

返回值

0xE6100000010C14C48A64D94B53C04820B990A28D4340

这个结果是什么格式?我知道它不是STAsBinary()返回的格式。
0x01010000004820B990A28D434014C48A64D94B53C0

有没有一种方法可以使用C#创建0xE61...这个值?
2个回答

4
这是一种特殊的二进制格式,定义在此处(如果您对该格式的细节感兴趣,可以下载PDF文档)。您可以像下面这样在C#中创建此类值(需要引用Microsoft.SqlServer.Types程序集):
var pt = SqlGeography.Point(-77.1851436, 39.1065236, 4326);    
var binary = pt.Serialize().Value;
var hexString = "0x" + BitConverter.ToString(binary).Replace("-", "");

太好了!感谢您分享您的见解。 - AAsk

2

结果是 Microsoft.SqlServer.Types.SqlGeography.Point 类型。

请参考此链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接