oracle SDO_ORDINATE_ARRAY直接展示

转自:https://www.cnblogs.com/zzl-156783663/p/9302249.html

mdsys.sdo_geometry 中SDO_ORDINATE存储的是空间对象的几何节点坐标序列,要想直接展示第一条值出来需要捞出数据

若select t.id,t.shape.sdo_ordinates from test1展示出来的是id和一个集合对象,我只需暂时集合对象第一个值或者某几个值出来可以建立一个函数展示

--读取SDO_ORDINATE_ARRAY中的元素
create or replace function get_value(td SDO_ORDINATE_ARRAY) return varchar2 is
t varchar2(50);
coulum_values varchar2(50);
begin
select column_value into t from table(td) where rownum=1;
return t;
end;

测试:

 1、

select column_value into t from table(MDSYS.SDO_ORDINATE_ARRAY(5,1, 8,1, 8,6, 5,7, 5,1)) where rownum=1;

2、

直接执行select t.id,get_value(t.shape.sdo_ordinates) from test1 t ; 即可;