在业务需求时如何使用Rownum取某张表其中部分记录的某一条记录信息呢?
如下面具体实例格式:
SELECT ROWNUM AS RN, COLUMN_NAME FROM (SELECT COLUMN_NAME FROM TABLE WHERE condition >= area and condition <= area ORDER BY taxis) where rn=number;
而以下是在工作流项目中具体应用的表现
create or replace function FUN_WF_GET_PRESSTIME
(av_TIME in VARCHAR2,--'yyyy-mm-dd'接受到工作流的时间
av_dayNum in number--设定的超时天数.
)RETURN DATE AS
li_PRESSDay DATE;
BEGIN
SELECT HDATE INTO li_PRESSDay FROM (
SELECT ROWNUM AS RN ,HDATE FROM (
SELECT HDATE FROM T_SYS_HOLIDAY
WHERE HDATE >= TO_DATE(av_TIME,'YYYY-MM-DD')
AND HDATE<= ADD_MONTHS(TO_DATE(av_TIME,'YYYY-MM-DD'),1)
AND HOLIDAY=0 ORDER BY HDATE)) WHERE RN = av_dayNum;
RETURN li_PRESSDay;
END FUN_WF_GET_PRESSTIME;
此处还使用了add_months这个函数此处的作用是在av_TIME的基础上加上1个月。另外这里由于T_SYS_HOLIDAY表的自身排序存在问题,固此在ROWNUM AS RN又多套了一层SELECT.
本文介绍如何在Oracle数据库中使用Rownum函数来选取指定条件下的特定记录,并通过一个具体的函数示例展示了如何结合其他函数实现这一目标。
6万+

被折叠的 条评论
为什么被折叠?



