在 Oracle 中生成随机序列

Generate random sequence in Oracle

我正在尝试将随机数生成到 2 列中,其中第一列是 from_number,第二列是 to_number。

我的查询如下所示

select to_char(5001 + (level-1)),
       to_char(5005 + (level-1))          
  from dual 
connect by level <= 100;

我对上述查询的输出是:

5001    5005
5002    5006
5003    5007
5004    5008
5005    5009

等等...

但我的输出应该如下所示:

5001    5005
5006    5010
5011    5015
5016    5020

等等...

第二行'from_number'应该是第一行'to_number'+1

如何实现?

提前致谢。

请注意,您在这里使用的不是随机序列。这是一个固定的顺序。要知道如何生成随机数,请阅读 this

现在回到你的问题,你可以通过 level 来玩一下。请注意,我将 <=100 减少为 <=20,因为我们使用的是 5 的乘数,因此您将获得的最大值是 5005 + 20*5 - 5 = 6000。如果您想要总共 100 行,请将其改回 <=100

select 
 to_char(5001 + (level*5) - 5 ),
 to_char(5005 + (level*5) - 5)          
from dual 
connect by level <= 20;