# ST\_CROSSES

## Syntax

```sql
ST_CROSSES(g1,g2)
```

## Description

Returns `1` if geometry *`g1`* spatially crosses geometry *`g2`*. Returns `NULL` if `g1` is a [Polygon](/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/polygon.md) or a [MultiPolygon](/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/multipolygon.md), or if `g2` is a [Point](/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/point.md) or a [MultiPoint](/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/multipoint.md). Otherwise, returns `0`.

The term spatially crosses denotes a spatial relation between two given geometries that has the following properties:

* The two geometries intersect.
* Their intersection results in a geometry that has a dimension that is one less than the maximum dimension of the two given geometries.
* Their intersection is not equal to either of the two given geometries.

`ST_CROSSES()` uses object shapes, while [CROSSES()](/docs/server/reference/sql-statements/geometry-constructors/geometry-relations/crosses.md), based on the original MySQL implementation, uses object bounding rectangles.

## Examples

```sql
SET @g1 = ST_GEOMFROMTEXT('LINESTRING(174 149, 176 151)');

SET @g2 = ST_GEOMFROMTEXT('POLYGON((175 150, 20 40, 50 60, 125 100, 175 150))');

SELECT ST_CROSSES(@g1,@g2);
+---------------------+
| ST_CROSSES(@g1,@g2) |
+---------------------+
|                   1 |
+---------------------+

SET @g1 = ST_GEOMFROMTEXT('LINESTRING(176 149, 176 151)');

SELECT ST_CROSSES(@g1,@g2);
+---------------------+
| ST_CROSSES(@g1,@g2) |
+---------------------+
|                   0 |
+---------------------+
```

<sub>*This page is licensed: CC BY-SA / Gnu FDL*</sub>

{% @marketo/form formId="4316" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-relations/st-crosses.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
