SQL 服务器地理结果格式
SQL Server geography result format
使用 SQL Server Management Studio:
declare @g geography
set @g = geography::Point(-77.1851436,39.1065236,4326)
select @g
returns
0xE6100000010C14C48A64D94B53C04820B990A28D4340
这个结果是什么格式?我知道这不是 STAsBinary() - returns
0x01010000004820B990A28D434014C48A64D94B53C0
有没有办法使用 C# 创建 0xE61... 值?
这是定义的特殊二进制格式 here(如果对该格式的详细信息感兴趣,您可以在那里下载 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("-", "");
结果类型为 Microsoft.SqlServer.Types.SqlGeography.Point
看到这个link
使用 SQL Server Management Studio:
declare @g geography
set @g = geography::Point(-77.1851436,39.1065236,4326)
select @g
returns
0xE6100000010C14C48A64D94B53C04820B990A28D4340
这个结果是什么格式?我知道这不是 STAsBinary() - returns
0x01010000004820B990A28D434014C48A64D94B53C0
有没有办法使用 C# 创建 0xE61... 值?
这是定义的特殊二进制格式 here(如果对该格式的详细信息感兴趣,您可以在那里下载 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("-", "");
结果类型为 Microsoft.SqlServer.Types.SqlGeography.Point
看到这个link