网站首页 > 文章中心 > 其它

oracle集合如何取值_集合如何表示取值范围

作者:小编 更新时间:2023-08-17 08:14:44 浏览量:218人看过

oracle 集合使用

给你个范例:

/******************************************************************

******************************************************************/

v_cnt NUMBER ;

BEGIN

select decode(substr(p_str,-1),p_sep,p_str,p_str || p_sep) into v_str from dual;

select length(v_str) - length(REPLACE(v_str, p_sep)) into v_cnt from dual;

FOR i IN 1 .. v_cnt LOOP

v_numtab.EXTEND;

v_numtab(i) := substr(v_str, 1, instr(v_str, p_sep) - 1);

v_str := substr(v_str, instr(v_str,p_sep) + 1);

END LOOP;

RETURN v_numtab;

EXCEPTION

WHEN OTHERS THEN

v_numtab.DELETE;

END;

oracle 中怎么算sum分组取值/汇总值啊?一直没有头绪

oracle中sum分组取值/汇总值用如下方法.

如emp表中有如下数据:

现要按deptno分组,求每组中sal的值/汇总值,可用如下语句:

select?deptno,sum(sal)/(select?sum(sal)?from?emp)?from?emp?group?by?deptno;

查询结果:

oracle 某个字段的结果是一个集合,怎么知道这个结果中是否有某个值

PL/SQL中是没有数组的概念,他的集合数据类型和数组是相似的,所以可以用ARRAY来解决问题.

第一步:创建你所需的ARRAY类型

第二步:把你的sf_split_string

函数返回的类型设置为varray_answer

第三步:

select?era_id,?us_id,?sf_split_string(answer,?':')?as?listanswer,?tu.name

from?evt_result_answer,?tuser?tu

and?tu.id?=?evt_result_answer.us_id

/**判断是否含有某个值*/

集合方法

pl/sql预定义了在varray 和嵌套表实例上进行调用的方法.这些方法能在集合上执行一定的功能.

EXISTS

? ?

该函数返回集合中第一个元素的索引,如果集合为空,返回NULL

Collection.EXISTS(index)

COUNT

该函数集合元素的数目

Collection.COUNT

DELETE

该过程从嵌套表中删除一个或多个或合部元素

Table_name.DELETE 删除所有元素

Table_name.delete(index)删除指定索引的记录

Table_name.delete(start_index,end_index)删除区间内元素

等方法

以上就是土嘎嘎小编为大家整理的oracle集合如何取值相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章