在MSSQL中将nvarchar转换为地理数据类型

本文关键字:数据类型 转换 MSSQL 中将 nvarchar | 更新日期: 2023-09-27 18:22:01

我正在ASP.NET中从浏览器中获取位置数据,并试图将其作为地理数据类型插入SQL中,有没有办法在TSQL中转换它,这样我就可以将其作为NVarchar传递?

在MSSQL中将nvarchar转换为地理数据类型

从代码中传递一个众所周知的文本(WKT),然后您可以在SQL Server中使用STGeomFromText方法,如:

SELECT geometry::STGeomFromText('LINESTRING (100 100, 20 180, 180 180)', 0)

在C#中你可以做:

string WKTRepresentation = "LINESTRING (100 100, 20 180, 180 180)";
using (SqlConnection conn = new SqlConnection("connectionString"))
using (SqlCommand cmd = new SqlCommand("SELECT geometry::STGeomFromText(@WKT, 0)", conn))
{
    conn.Open();
    cmd.Parameters.Add(new SqlParameter("@WKT", SqlDbType.NVarChar) { Value = WKTRepresentation });
    var reader = cmd.ExecuteReader();
}
相关文章: