create or replace function MY_LOSTDAY(
t_taskid in varchar2)
return varchar2 as
Result varchar2(5);
finish varchar2(5); --标识预警,黄牌,红牌
t_taskreducedate date;
--查询正在进行中的阶段的时间
cursor cur_enddate is
select r.enddate
from t_business_task_reduce r, t_business_task t
where r.taskid = t.id
and t.id=t_taskid
and r.isfinishstate='1';
begin
finish:=0;
open cur_enddate; --打开游标
loop
fetch cur_enddate --遍历
into t_taskreducedate;
exit when cur_enddate%notfound; --当游标为空跳出
--当前时间没有阶段结束的
if(trunc(sysdate-t_taskreducedate)<=0) then
if finish!=0 then
finish:=finish;
end if;
if finish=0 then
finish:=0;
end if;
end if;
--预警
if(trunc(sysdate-t_taskreducedate)>0) and (trunc(sysdate-t_taskreducedate)<=3) then
if finish>=2 then
finish:=finish;
end if;
if finish<2 then
finish := 1;
end if;
end if;
--黄牌
if(trunc(sysdate-t_taskreducedate)>3) and (trunc(sysdate-t_taskreducedate)<=8) then
if finish>=3 then
finish:=finish;
end if;
if finish<3 then
finish := 2;
end if;
end if;
--红牌
if(trunc(sysdate-t_taskreducedate)>8) then
finish := 3;
end if;
end loop;
close cur_enddate; --关闭游标
Result:=finish;
return(Result);
end MY_LOSTDAY;
分享到:
相关推荐
Oracle 自定义日期函数 Oracle 日期处理函数是数据库管理系统中非常重要的一部分,最近看到有人在做 T-SQL 与 PL/SQL 的转化,问了些有关时间函数的处理。在 PL/SQL 中,Oracle 提供了其他的方法来处理日期函数,...
在 Oracle 数据库中,自定义函数是一种非常重要的特性,允许用户根据需求创建自己的功能模块,以扩展数据库的内置功能。本文将详细讲解如何创建、调用和管理自定义函数,以及讨论它们在实际应用中的优缺点。 一、...
Oracle 自定义聚合函数-分析函数 Oracle 自定义聚合函数是一种强大且灵活的功能,允许用户根据自己的需求创建自定义的聚合函数。聚合函数是一种特殊的函数,它可以对一组数据进行处理和计算,并返回一个结果。 ...
本文将详细介绍Oracle自定义函数的定义、使用方法以及一些高级特性。 #### 二、基本语法与定义 1. **定义函数的基本语法**: ```sql CREATE [OR REPLACE] FUNCTION function_name (参数列表) RETURN 返回类型 ...
### Oracle游标、视图和自定义函数 #### 1. 游标 **1.1 游标的优势和类型** 在数据库应用开发过程中,游标作为一种强大的工具,为开发者提供了一种处理从表中检索出的数据的有效方法,特别是在需要逐条处理数据...
3、兼容性与灵活性: 适用于各种 Oracle 数据库环境,无论是本地部署还是云数据库,均可无缝集成,满足不同场景需求。 4、详尽注释文档: 提供了完整的函数代码及详细的注释说明,便于用户快速理解与应用,同时降低...
oracle 自定义函数 解析文件以“|”分割字符串
Oracle自定义函数,很详细的教程,各种函数自定义的详细讲解。
* 自定义聚合函数 wmsys.wm_concat 替换办法 * 超大字符串拼接,单个字符串4000、分隔符100... * Oracle11g Release2版本引入了LISTAGG 函数,使得聚集连接字符串变得很容易。并且允许使用我们指定连接串中的字段顺序
Oracle自定义脱敏函数是数据库管理中用于保护敏感数据的一种常见方法,尤其是在处理用户个人信息时。本文将深入解析Oracle自定义脱敏函数的实现细节,以确保在数据共享、备份或分析时不泄露关键信息。 首先,我们来...
自定义函数不能被直接在Java中调用,可以通过存储过程调用函数的方法。本文采用实例的方法,介绍如何在Oracle数据库客户端PL/SQL中创建自定义函数,然后创建相应的存储过程调用该函数,最终实现一个实例计算。
Oracle自定义函数返回一张表。主要用于生成一张等时间间隔的表数据。
### ORACLE CRC32函数详解 #### 一、概述 在Oracle数据库中,`CRC32`函数是一种非常实用的功能,主要用于将字符类型的数据转换为一个唯一的数字类型,这一过程通常被称为散列(Hash)。通过该函数,可以方便地生成...
oracle数据库,使用自定义函数,实现了金额的大写转换。sql语句中,直接调用此函数即可得到金额大写。
标题和描述中提到的“postgresql 兼容 oracle 函数”就是指在PostgreSQL中实现与Oracle类似的函数,以便于在两个系统间平滑过渡。 Oracle数据库拥有大量的内置函数,如日期处理、字符串操作、数学计算等,这些在...
在IT行业中,数据库管理系统(DBMS)如...总结来说,这个Oracle自定义函数是针对统一社会信用代码的效验工具,遵循国家的效验规则,确保在数据库中存储的USCC信息的准确无误,这对于在中国进行合规操作的企业至关重要。
商品分类管理:当您的商品分类信息存储在一个字段中时,此函数可以帮助您快速拆分并检索特定分类下的所有商品,极大地提高了商品管理的效率。 用户权限分配:在用户权限系统中,如果权限信息被压缩存储,使用本...
1. **创建Oracle函数**:在Oracle数据库中,我们首先需要创建一个自定义函数。例如,我们可以创建一个计算两个数字之和的函数`ADD_NUMBERS`: ```sql CREATE OR REPLACE FUNCTION ADD_NUMBERS(p_num1 NUMBER, p_...
oracle中没有方便分割字符串的的函数,仿照c#中的split方法和网友的方法,并进行了改进,(1)先自定义个类型str_split,(2)分割函数splitstr,返回table;(3)取第n个数组的get_splitstr,用户1,2,3部建好,使用时只需要...