Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
返回表示两个几何的点集差异的几何值。
geometry-expression.ST_Difference(geo2)
geo2
ST_Geometry
要从 geometry-expression 中减去的另一个几何值。
ST_Geometry 返回表示两个几何的点集差异的几何值。
结果的空间参照系标识符与 geometry-expression 的空间参照系标识符相同。
ST_Difference 方法查找两个几何的空间差异。如果某点在 geometry-expression 中而不在 geo2 中,则该点将包含在结果中。
与其它空间集合运算(ST_Union、ST_Intersection 和 ST_SymDifference)不同,ST_Difference() 方法不对称:此方法可能在回答 [ A.ST_Difference( B )] 和 [ B.ST_Difference( A )] 时提供不同的答案。
A.ST_Difference( B )
B.ST_Difference( A )
如果 geometry-expression 包含圆弧线串,则它们将内插到直线线串中。
SQL/MM (ISO/IEC 13249-3: 2006) 5.1.20
下面的示例显示了从正方形 (A) 中移除圆 (B) 后所得的差 (C),及从圆 (B) 中移除正方形 (A) 后所得的差 (D)。
SELECT NEW ST_Polygon( 'Polygon( (-1 -0.25, 1 -0.25, 1 2.25, -1 2.25, -1 -0.25) )' ) AS A , NEW ST_CurvePolygon( 'CurvePolygon( CircularString( 0 1, 1 2, 2 1, 1 0, 0 1 ) )' ) AS B , A.ST_Difference( B ) AS C , B.ST_Difference( A ) AS D
下图中的阴影部分显示了差 C=A-B 和 D=B-A。每个差都是一个表面,其中包含位于差的左手边(而不是右手边)的几何中的所有点。