В чем разница между STAsText () и ToString () в SQL при преобразовании географии в WKT - PullRequest
0 голосов
/ 02 мая 2018
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 ()?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

STAsText (тип данных географии) будет возвращен текст, который будет не содержать какие-либо значения Z (высота) или M (мера), переносимые экземпляром

но

ToString (тип данных географии) этот текст будет возвращать любые значения Z (высоты) или M (меры), переносимые экземпляром

Пример:

ОБЪЯВИТЬ @g геометрию;
SET @g = geometry :: STGeomFromText ('POINT (1 2 3 4)', 0);

SELECT @ g.ToString (); - Результат ТОЧКА (1 2 3 4)

SELECT @ g.STAsText () - Результат ТОЧКА (1 2)

0 голосов
/ 02 мая 2018

Согласно документам, ToString() возвращает значение представление экземпляра географии, дополненное любыми значениями Z (высота) и M (мера), переносимыми экземпляром.

Однако текст функции STAsTEXT() не будет содержать значений Z (повышения) или M (измерения), переносимых экземпляром.

Кажется, что некоторые функции географии SQL частично совпадают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...