将地理转换为 wkt 时,sql 中的 STAsText() 和 ToString() 有什么区别

Mil*_*lan 4 t-sql sql-server spatial-data

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();
Run Code Online (Sandbox Code Playgroud)

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

谢谢。

Ahm*_*ary 5

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

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

例子:

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

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

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