# STSymDifference (geometry Data Type)

**THIS TOPIC APPLIES TO:**SQL Server (starting with 2012)Azure SQL DatabaseAzure SQL Data Warehouse Parallel Data Warehouse

Returns an object that represents all points that are either in one **geometry** instance or another **geometry** instance, but not those points that lie in both instances.

## Syntax

```
.STSymDifference ( other_geometry )
```

## Arguments

*other_geometry*

Is another **geometry** instance in addition to the instance on which `STSymDistance()`

is being invoked.

## Return Types

SQL Server return type: **geometry**

CLR return type: **SqlGeometry**

## Remarks

This method always returns null if the spatial reference IDs (SRIDs) of the **geometry** instances do not match. The result may contain circular arc segments only if the input instances contain circular arc segments.

## Examples

### A. Computing the symmetric difference of two Polygon instances

The following example uses `STSymDifference()`

to compute the symmetric difference of two `Polygon`

instances.

```
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. Computing the symmetric difference between a CurvePolygon and a Polygon instance

The following example returns a `GeometryCollection`

that represents the symmetric difference between a `CurvePolygon`

and a `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. Using STSymDifference() on CurvePolygon instance with an inscribed Polygon instance

The following example returns a `CurvePolygon`

instance with an interior `Polygon`

ring that represents the symmetric difference between the two instances compared.

`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();`