oracle 自定义max,oracle 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值...

create or replace function MAX_O3_8HOUR_ND(value NUMBER) return NUMBER

parallel_enable aggregate using MAX_O3_8HOUR;

CREATE OR REPLACE TYPE MAX_O3_8HOUR as object (

--聚合函数的实质就是一个对象

num NUMBER,

var_array type_array,

static function ODCIAggregateInitialize(v_self in out MAX_O3_8HOUR) return number,

--对象初始化

member function ODCIAggregateIterate(self in out MAX_O3_8HOUR, value in number) return number,

--聚合函数的迭代方法(这是最重要的方法)

member function ODCIAggregateMerge(self in out MAX_O3_8HOUR, v_next in MAX_O3_8HOUR) return number,

--当查询语句并行运行时,才会使用该方法,可将多个并行运行的查询结果聚合

member function ODCIAggregateTerminate(self in MAX_O3_8HOUR, return_value out number ,v_flags in number) return number

--终止聚集函数的处理,返回聚集函数处理的结果.

)

create or replace type body MAX_O3_8HOUR is

static function ODCIAggregateInitialize(v_self in out MAX_O3_8HOUR) return number is

begin

--对象初始化

v_self := MAX_O3_8HOUR(0,type_array(0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0));

return ODCICONST.Success;

end;

member function ODCIAggregateIterate(self in out MAX_O3_8HOUR, value in number) return number is

begin

--聚合函数的迭代方法(这是最重要的方法)

self.num:=self.num+1;

self.var_array(self.num):=value;

return ODCICONST.Success;

end;

member function ODCIAggregateMerge(self in out MAX_O3_8HOUR, v_next in MAX_O3_8HOUR) return number is

begin

--当查询语句并行运行时,才会使用该方法,可将多个并行运行的查询结果聚合

return ODCICONST.Success;

end;

member function ODCIAggregateTerminate(self in MAX_O3_8HOUR, return_value out number ,v_flags in number) return number is

n number;

re number;

hour8 number;

begin

--终止聚集函数的处理,返回聚集函数处理的结果.

--oracle数组序列从1开始

n:=self.num-7;

re:=0;

for i in 1..n loop

hour8:=0;

for j in i..(i+7) loop

hour8:=hour8+self.var_array(j);

end loop;

IF re

re:=hour8;

END IF;

end loop;

return_value:=ceil(re/8);

return ODCICONST.Success;

end;

end;

sql server 2012 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值

采用c#开发dll,并添加到sql server 中. 具体代码,可以用visual studio的向导生成模板. using System; using System.Collections; us ...

oracle 自定义 聚合函数

Oracle自定义聚合函数实现字符串连接的聚合   create or replace type string_sum_obj as object ( --聚合函数的实质就是一个对象      sum ...

ORACLE 自定义聚合函数

用户可以自定义聚合函数  ODCIAggregate,定义了四个聚集函数:初始化.迭代.合并和终止. Initialization is accomplished by the ODCIAggrega ...

Spark基于自定义聚合函数实现【列转行、行转列】

一.分析 Spark提供了非常丰富的算子,可以实现大部分的逻辑处理,例如,要实现行转列,可以用hiveContext中支持的concat_ws(',', collect_set('字段'))实现.但是 ...

SQL Server 自定义聚合函数

说明:本文依据网络转载整理而成,因为时间关系,其中原理暂时并未深入研究,只是整理备份留个记录而已. 目标:在SQL Server中自定义聚合函数,在Group BY语句中 ,不是单纯的SUM和MAX等 ...

MySQL聚合函数在计算时,不会自动匹配与之相对应的数据

学习mysql过程中遇到了一个困惑,纠结了我半天时间,刚刚又重新复习了一下,终于知道问题所在 以下是一个需求: 取得平均薪水最高的部门的部门编号 代码如下: select deptno, avg(sa ...

oracle sum()聚合函数

原文链接:https://blog.csdn.net/cizatu5130/article/details/100291347 oracle sum()聚合函数 2016-05-13 20:08:00 ...

Oracle自定义聚集函数

今天工作中看见别人写的自定义聚集函数,所以一门心思的想搞懂,就在网上找资料了. 自定义聚集函数 自定义聚集函数接口简介 Oracle提供了很多预定义好的聚集函数,比如Max(), Sum(), AVG ...

java:Oracle(聚合函数,多表查询,表之间的关系)

1.聚合函数 --max,min,sum,avg,count,nvl(,) -- max:最大值 -- max既能取数字的最大值,也可以取字符串的最大值(英文字母排列顺序),根据场景实际意义来看,最好 ...

随机推荐

win7+vs2010+opencv2.4.6配置

记录一下配置,省的以后还到处去找: (一) 添加环境变量://第一次使用opencv的话需要加环境变量:” %opencv%\build\x86\vc10\bin”和”%opencv%\build\c ...

homework-Agile Software Development

对敏捷开发的一些思考 这周的作业是对敏捷开发的相关阅读和思考. 在阅读的过程中,可以看到作者是一位具有丰富编程经验的大师.在开发的经历中,作者经历了极限编程等开发过程,但是在作者的多年经验中,作者还是 ...

EasyUI知识点

1. easyUI实现动态列,js实现 $('#dg').datagrid({ height: 340, url: '${path}/salary/datas.do', method: 'POST', ...

arcgis for js symbol图标的变化

需求是图标有hover效果 ,如下 思路 : 1.创建图片标记,并赋值: args.rendererArgs = new RenderArgs();     args.rendererArgs.typ ...

css继承属性

在css中我们经常会遇到一些子元素继承父元素的情况 , 有时候不清楚有哪些属性会继承, 在开发中会给我们带来一些麻烦 ,稍作整理还是很有必要. 一.有继承性的属性 1.字体系列属性 font:组合字体 ...

L360 Most People Spend Their Time in Just 25 Places

Some people are always out on the town, going to concerts, restaurant openings, you name it. They're ...

linux服务配置

1,开机初始化的配置 iptables -F 清空防火墙 /etc/init.d/iptables stop  #关闭iptables setenforce 0  #暂停selinux #编译安装py ...

CF1110D Jongmah

题目地址:CF1110D Jongmah 约定:称形如 \([a-1,a,a+1]\) 这样的三元组为关于 \(a\) 的顺子,形如 \([a,a,a]\) 这样的三元组为关于 \(a\) 的对子. ...

MongoDB:Map-Reduce

Map-reduce是一个考虑大型数据得到实用聚集结果的数据处理程式(paradigm).针对map-reduce操作,MongoDB提供来mapreduce命令. 考虑以下的map-reduce操作 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值