ST_Difference は 2 つの図形オブジェクトを引き数とし、ソース・オブジェクト間の差である図形オブジェクトを戻します。 ST_Difference の 2 つの入力図形は同じ次元にしてください。次元が異なる場合、ヌルが戻されます。
構文
db2gse.ST_Difference(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
戻りタイプ
db2gse.ST_Geometry
例
都市開発担当者は、市内の敷地区域のうち建物の建っていない区域の面積の合計を知っていなければなりません。したがって、建物の建っている区域を除いた敷地区域の面積の合計が必要となります。
CREATE TABLE BUILDINGFOOTPRINTS (building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon); CREATE TABLE LOTS (lot_id integer, lot db2gse.ST_MultiPolygon);
都市開発担当者は、lot_id について BUILDINGFOOTPRINTS 表および LOTS 表を等価結合します。その後、建物のフットプリントを除いた、敷地の差となる区域の面積の合計を計算します。
SELECT SUM(db2gse.ST_Area(db2gse.ST_Difference(lot,footprint))) FROM BUILDINGFOOTPRINTS bf, LOTS WHERE bf.lot_id = LOTS.lot_id;