ST_Difference toma dos objetos geometría y devuelve un objeto geometría que es la diferencia de los objetos fuente.
Sintaxis
db2gse.ST_Difference(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo devuelto
db2gse.ST_Geometry
Ejemplos
El ingeniero municipal desea saber el área total de las áreas de parcela de la ciudad que no están edificadas. Es decir, desea saber la suma de las áreas de parcelas sin contar las áreas edificadas.
CREATE TABLE BUILDINGFOOTPRINTS (building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon); CREATE TABLE LOTS ( lot_id integer, lot db2gse.ST_MultiPolygon);
El ingeniero municipal une las tablas BUILDINGFOOTPRINTS y LOTS por la columna lot_id. Luego el ingeniero municipal toma la suma del área de la diferencia de las parcelas menos las áreas construidas.
SELECT SUM(db2gse.ST_Area(db2gse.ST_Difference(lot,footprint))) FROM BUILDINGFOOTPRINTS bf, LOTS WHERE bf.lot_id = LOTS.lot_id;