select trunc(sysdate, 'dd') +
(ceil(to_char(sysdate, 'sssss') / 600)-2) / 144 time1,
trunc(sysdate, 'dd') +
(ceil(to_char(sysdate, 'sssss') / 600)-1) / 144 time2
from dual;
time1,time2分别是你要的2个时间 跨天的情况没考虑 你可以验证下 应该也可以吧
你需要的是不是 类似下面这样的效果?
存储过程中, 游标处理的时候, 实现先选取前十行。 第二次选取第十一行到20行,依次类推
LIMIT 后面的数字,意味着每一批加载多少数据。
DECLARE
-- 定义类型
TYPE test_type IS TABLE OF test_main%ROWTYPE;
test_data test_type;
-- 定义游标
CURSOR c_test_main IS
SELECT id, value FROM test_main;
BEGIN
-- 打开游标
OPEN c_test_main;
-- 开始循环
LOOP
-- 填充数据 批量填充,每次读取10条
FETCH c_test_main
BULK COLLECT INTO test_data LIMIT 10;
-- 调试输出
FOR i IN 1test_datacount
LOOP
dbms_outputput_line(test_data(i)value);
END LOOP;
-- 当没有数据的时候,退出。
EXIT WHEN c_test_main%NOTFOUND;
END LOOP;
-- 关闭游标
CLOSE c_test_main;
END;
/
用union吧,如:
select from (
select from a where a=1 and rownum<=10
union
select from a where a=2 and rownum<=10
union
select from a where a=3 and rownum<=10
) a order by b
以上就是关于oracle根据当前时间得到前十分钟的时间段全部的内容,包括:oracle根据当前时间得到前十分钟的时间段、oracle怎么能先再存储过程中实现先选取前十行,第二次选取第十一行到20行,依次类推,非常感谢、oracle排序 一个表不同类型数据找出前10名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)