ST_Difference
Applies to ❌ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
This function subtracts a geometry from another. For example:
create.select(stDifference( stGeomFromText("POLYGON ((-1 -1, 1 -1, 1 1, -1 1, -1 -1))"), stGeomFromText("POLYGON ((0 0, 2 0, 2 2, 0 2, 0 0))"), )).fetch();
The result being, for example
+----------------------------------------------------+ | ST_Difference | +----------------------------------------------------+ | POLYGON ((-1 1, 0 1, 0 0, 1 0, 1 -1, -1 -1, -1 1)) | +----------------------------------------------------+
Or, visually:
Dialect support
This example using jOOQ:
stDifference(geometry1, geometry2)
Translates to the following dialect specific expressions:
-- AURORA_MYSQL, AURORA_POSTGRES, COCKROACHDB, MARIADB, MYSQL, POSTGRES, REDSHIFT, SNOWFLAKE st_difference(geometry1, geometry2) -- ORACLE sdo_geom.sdo_difference(geometry1, geometry2, tol => null) -- SQLSERVER geometry1.STDifference(geometry2) -- 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!