Oracle空间函数范围查询

2021-08-14  本文已影响0人  没见过的颜色

记录:
Oracle空间函数范围查询查看官方文档得出以下这两种方式,测试中的到的结果是方式二得到的结果值比较接近实际值。具体原因是什么暂时没时间研究,清楚的同学可在评论中指教一下。

方式一:

SELECT * FROM TABLE_NAME T
        WHERE SDO_ANYINTERACT(
                T.GEOMETRY,
                MDSYS.SDO_GEOMETRY(2003,4326, NULL,
                MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),
                MDSYS.SDO_ORDINATE_ARRAY(#{minX}, #{minY}, #{maxX}, #{maxY})
        )) = 'TRUE'

方式二:

SELECT * FROM TABLE_NAME T
        WHERE SDO_FILTER(
                T.GEOMETRY,
                MDSYS.SDO_GEOMETRY(2003, 4326, null,
                MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3),
                MDSYS.SDO_ORDINATE_ARRAY(#{minX}, #{minY}, #{maxX}, #{maxY})
        )) = 'TRUE';
上一篇 下一篇

猜你喜欢

热点阅读