Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar ett objekt som representerar alla punkter som antingen finns i en geometriinstans eller en annan geometriinstans , men inte de punkter som ligger i båda instanserna.
Syntax
.STSymDifference ( other_geometry )
Arguments
other_geometry
Är en annan geometriinstans utöver den instans som STSymDifference() anropas.
Returtyper
SQL Server-returtyp: geometri
CLR-returtyp: SqlGeometry
Remarks
Den här metoden returnerar alltid null om de rumsliga referens-ID:erna (SRID) för geometriinstanserna inte matchar. Resultatet kan endast innehålla cirkulära bågsegment om indatainstanserna innehåller cirkulära bågsegment.
Examples
A. Beräkna den symmetriska skillnaden mellan två Polygon-instanser
I följande exempel används STSymDifference() för att beräkna den symmetriska skillnaden mellan två Polygon instanser.
DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))', 0);
SET @h = geometry::STGeomFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))', 0);
SELECT @g.STSymDifference(@h).ToString();
B. Beräkna den symmetriska skillnaden mellan en CurvePolygon och en Polygon-instans
I följande exempel returneras en GeometryCollection som representerar den symmetriska skillnaden mellan en CurvePolygon och en Polygon.
DECLARE @g geometry = 'CURVEPOLYGON (CIRCULARSTRING (0 -4, 4 0, 0 4, -4 0, 0 -4))';
DECLARE @h geometry = 'POLYGON ((1 -1, 5 -1, 5 3, 1 3, 1 -1))';
SELECT @h.STSymDifference(@g).ToString();
C. Använda STSymDifference() på CurvePolygon-instans med en inskriven Polygon-instans
I följande exempel returneras en CurvePolygon instans med en inre Polygon ring som representerar den symmetriska skillnaden mellan de två instanserna jämfört med.
DECLARE @g geometry = 'CURVEPOLYGON (CIRCULARSTRING (0 -4, 4 0, 0 4, -4 0, 0 -4))';
DECLARE @h geometry = 'POLYGON ((1 -1, 2 -1, 2 1, 1 1, 1 -1))';
SELECT @h.STSymDifference(@g).ToString();