# STIntersection (geometry Data Type)

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

Returns an object that represents the points where a **geometry** instance intersects another **geometry** instance.

||

|-|

|**Applies to**: SQL Server ( SQL Server 2008 through current version), Azure SQL Database .|

## Syntax

```
.STIntersection ( other_geometry )
```

## Arguments

*other_geometry*

Is another **geometry** instance to compare with the instance on which `STIntersection()`

is being invoked, to determine where they intersect.

## Return Types

SQL Server return type: **geometry**

CLR return type: **SqlGeometry**

## Remarks

`STIntersection()`

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 them.

## Examples

### A. Using STIntersection() on Polygon instances

The following example uses `STIntersection()`

to compute the intersection of two polygons.

```
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.STIntersection(@h).ToString();
```

### B. Using STIntersection() with CurvePolygon instance

The following example returns an instance that contains a circular arc segment.

`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.STIntersection(@g).ToString();`