Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自列表的SQL随机字符串_Sql_Oracle_Random - Fatal编程技术网

来自列表的SQL随机字符串

来自列表的SQL随机字符串,sql,oracle,random,Sql,Oracle,Random,我想从字符串列表中进行选择,并将其指定为我的SELECT的一列的值 如下所示: SELECT id, name, GET_RANDOM_TYPE('Basic', 'Silver', 'Gold', 'Premium') AS type FROM tbl 我只是在做一些测试,所以我需要它。创建一个表,其中包含一个数字作为主键的值列表 然后 上面的语句将给出任意一个10个伪随机数,并假设表中有10个随机值。它不是真正随机的,但用于测试。请参阅。对oracle不太熟悉,但您可以简单地将舍入(dbm

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

如下所示:

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

我只是在做一些测试,所以我需要它。

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

然后


上面的语句将给出任意一个10个伪随机数,并假设表中有10个随机值。它不是真正随机的,但用于测试。请参阅。

对oracle不太熟悉,但您可以简单地将
舍入(dbms_random.value(1,4))
大小写
表达式结合使用:

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

有没有一种方法可以避免创建一个新表?是的,这很有效。这和拉文德拉的回答是一样的。你只是碰巧提供了这个问题。不管我说的是什么。它仍然需要它来工作。我使用的是

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