列表中的SQL随机字符串

时间:2016-03-07 20:22:37

标签: sql oracle random

我想从字符串列表中进行选择,并将其指定为SELECT的其中一列的值。

如下所示:

SELECT id, name, GET_RANDOM_TYPE('Basic', 'Silver', 'Gold', 'Premium') AS type
FROM tbl

我只是在做一些测试,因此我需要这个。

2 个答案:

答案 0 :(得分:9)

对oracle并不十分熟悉,但也许您只需将round(dbms_random.value(1,4))CASE表达式结合使用即可:

SELECT id,
       CASE round(dbms_random.value(1,4)) 
            WHEN 1 THEN 'Basic' 
            WHEN 2 THEN 'Silver' 
            WHEN 3 THEN 'Gold' 
            WHEN 4 THEN 'Premium' 
       END AS type
FROM table

答案 1 :(得分:0)

创建一个表,其中包含一个以数字作为主键的值列表。

然后

Select  your_text
from your_random_table
where ID = TRUNC(DBMS_RANDOM.value(1,10));

上面的陈述将为您提供任意一个10个伪随机数,并假设您的表中有10个随机值。它不是随机的,但适用于测试。请参阅here