sql-server - 将地理转换为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() 有什么区别?
谢谢。
解决方案
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)
推荐阅读
- c++ - 使用霍夫曼树解码二进制文本
- github - 在 GitHub 桌面应用程序上创建新的 git 存储库时遇到问题
- python - C++ 与 Python 实现
- arrays - MATLAB中的矩阵变换
- maven - 如何将带有密码的maven settings.xml放在源代码管理中
- javascript - 让用户下载经过处理的 SVG
- ssl - Nginx 反向代理仅适用于 Curl
- python - 使用 pipenv -h, UnicodeDecodeError: 'utf-8'
- urllib2 - 使用urllib通过python2.6打开主机时如何获取解析的远程地址?
- c# - 使用 Linq 组合两个列表并获得总量