oracle根据当前时间得到前十分钟的时间段

oracle根据当前时间得到前十分钟的时间段,第1张

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名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10159764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存