STCrosses (geometry Data Type)

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2012)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Returns 1 if a geometry instance crosses another geometry instance. Returns 0 if it does not.

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


.STCrosses ( other_geometry )  


Is another geometry instance to compare against the instance on which STCrosses() is invoked.

Return Types

SQL Server return type: bit

CLR return type: SqlBoolean


Two geometry instances cross if both of the following conditions are true:

  • The intersection of the two geometry instances results in a geometry whose dimensions are less than the maximum dimension of the source geometry instances.

  • The intersection set is interior to both source geometry instances.

    This method always returns null if the spatial reference IDs (SRIDs) of the geometry instances do not match.


The following example uses STCrosses() to test two geometry instances to see if they cross.

DECLARE @g geometry;  
DECLARE @h geometry;  
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 2 0)', 0);  
SET @h = geometry::STGeomFromText('LINESTRING(0 0, 2 2)', 0);  
SELECT @g.STCrosses(@h);  

See Also

OGC Methods on Geometry Instances