STUnion (geometry Data Type)

Applies to: yesSQL Server (all supported versions) YesAzure SQL Database YesAzure SQL Managed Instance

Returns an object that represents the union of a geometry instance with another geometry instance.


.STUnion ( other_geometry )  


To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.


Is another geometry instance to form a union with the instance on which STUnion() is being invoked.

Return Types

SQL Server return type: geometry

CLR return type: SqlGeometry


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.


A. Computing the union of two Polygon instances

The following example uses STUnion() to compute the union 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.STUnion(@h).ToString();  

B. Computing the union of a Polygon instance with a CurvePolygon instance

The following example returns a GeometryCollection 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((5 -1, 5 -3, 7 -3, 7 -1, 5 -1))';  
 SELECT @g.STUnion(@h).ToString();

STUnion() returns a result that contains a circular arc segment because the instance that invoked STUnion() contains a circular arc segment.

See Also

OGC Methods on Geometry Instances