在Oracle中生成随机序列

时间:2017-06-06 16:14:49

标签: oracle plsql plsqldeveloper

我正在尝试将随机数生成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

依旧......

第二行&#39; from_number&#39;应该是第一行&#39; to_number&#39; +1

如何实现这一目标?

提前致谢。

1 个答案:

答案 0 :(得分:4)

请注意,您在此处使用的不是随机序列。这是一个固定的序列。要知道如何生成随机数读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;