加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

获取oracle.sql.array的长度

发布时间:2021-01-12 13:31:30 所属栏目:站长百科 来源:网络整理
导读:在Oracle DB上,我有一个带有SDO_GEOMETRY工具的表.我想查询数据库中边沿小于x的多边形.从理论上讲,这可以很简朴地查询 SELECT * FROM myTable t WHERE LENGTH(t.geometry.sdo_ordinates) x 显然,LENGTH函数是为char和范例界说的 t.geometry.sdo_ordinates是o

在Oracle DB上,我有一个带有SDO_GEOMETRY工具的表.我想查询数据库中边沿小于x的多边形.从理论上讲,这可以很简朴地查询

SELECT * FROM myTable t WHERE LENGTH(t.geometry.sdo_ordinates) < x

显然,LENGTH函数是为char和范例界说的
t.geometry.sdo_ordinates是oracle.sql.ARRAY,因此不起浸染.不该该有一个简朴的要领来选择Oracle中的长度或数组吗?不知怎的,我无法正确行使语法.

PS:我用以下查询办理了我的搜刮,如故是原始题目如故存在,是不是稀有组巨细/长度函数?

SELECT * FROM myTable t WHERE LENGTH(t.geomety.Get_WKT()) < (x * c)

办理要领

不,没有简朴的sql函数可以计较数组的元素.

可是如here所述,另一个设法是PL / SQL剧本.

create or replace function get_count(ar in SDO_ORDINATE_ARRAY) return number is
begin
   return ar.count;
end get_count;

t.geometry.sdo_ordinates.COUNT是一个PL / SQL attribute,可以在函数/进程中行使.因此,这不是平凡SQL中可用的函数.

属性:

value.someAttribute

成果:

doSomething(value)

澄清:函数有返回值,措施没有. Source

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读