首页 > 解决方案 > 将地理转换为wkt时sql中的STAsText()和ToString()有什么区别

问题描述

DECLARE @geographyData geography; 
//Convert wkt to geography 

SET @geographyData = geography::Parse('LINESTRING(-132.360 50.657, -120.340 47.659)');


//Convert back to wkt from geography

(1) @geographyData.ToString();

(2) @geographyData.STAsText();

(1) 和 (2) 给了我相同的结果,即 LINESTRING (-132.36 50.657, -120.340 47.659)。ToString() 和 STAsText() 有什么区别?

谢谢。

标签: sql-servertsqlspatial-data

解决方案


STAsText(地理数据类型)这将返回文本将包含实例携带的任何 Z(海拔)或 M(测量)值

ToString(地理数据类型)这将返回文本将包含实例携带的任何 Z(海拔)或 M(测量)值

例子:

声明@g 几何;
SET @g = geometry::STGeomFromText('POINT(1 2 3 4)', 0);

选择@g.ToString(); -- 结果 点 (1 2 3 4)

SELECT @g.STAsText() -- 结果 点 (1 2)


推荐阅读