ST_Touches
Applies to ❌ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
This predicate checks if two geometries touch. For example:
create.select( field(stTouches( stGeomFromText("LINESTRING (-1 0, -1 1, -2 1, -2 2)"), stGeomFromText("LINESTRING (-1 1, -2 0)") )), field(stTouches( stGeomFromText("LINESTRING (1 0, 1 1, 2 1, 2 2)"), stGeomFromText("LINESTRING (1 2, 0 1)") )) ).fetch();
The result being, for example
+------------+------------+ | ST_Touches | ST_Touches | +------------+------------+ | true | false | +------------+------------+
Or, visually:
Dialect support
This example using jOOQ:
stTouches(geometry1, geometry2)
Translates to the following dialect specific expressions:
-- AURORA_MYSQL, AURORA_POSTGRES, COCKROACHDB, MARIADB, MYSQL, POSTGRES, REDSHIFT, SNOWFLAKE st_touches(geometry1, geometry2) -- ORACLE ((st_touch(geometry1, geometry2) = 'TRUE')) -- SQLSERVER geometry1.STTouches(geometry2) = 1 -- ACCESS, ASE, BIGQUERY, DB2, DERBY, DUCKDB, EXASOL, FIREBIRD, H2, HANA, HSQLDB, INFORMIX, MEMSQL, SQLDATAWAREHOUSE, -- SQLITE, SYBASE, TERADATA, TRINO, VERTICA, YUGABYTEDB /* UNSUPPORTED */
(These are currently generated with jOOQ 3.19, see #10141), or translate your own on our website
Feedback
Do you have any feedback about this page? We'd love to hear it!