Anteckning
Å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 Förhandsversion av Microsoft Fabric
Returnerar ett objekt som representerar punktuppsättningen från en geometriinstans som inte ligger inom en annan geometriinstans .
Syntax
.STDifference ( other_geometry )
Arguments
other_geometry
Är en annan geometriinstans som anger vilka punkter som ska tas bort från den instans som STDifference() anropas.
Return Types
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 skillnaden mellan två Polygon-instanser
I följande exempel används STDifference() för att beräkna skillnaden mellan två polygoner.
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.STDifference(@h).ToString();
B. Anropa STDifference() på en CurvePolygon-instans
I följande exempel används STDifference() på en CurvePolygon-instans.
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))';
-- Note the different results returned by the two SELECT statements
SELECT @h.STDifference(@g).ToString(), @g.STDifference(@h).ToString();