Random.Value 时的情况

Case when Random.Value

我的查询基于多个 'case when' 语句,我试图向该组合中添加大约 10 条记录的随机样本。

我想我正在寻找类似的东西:

 Case when (select dbms_random.random DOC_NUM (x10) then 'Random' else '-' end rand_doc

如果这样的事情在什么时候是可能的?

我没有要寻找的特定标准,但如果它在 case when 语句中有帮助,那么我可以添加 'doc_num Like '%5%'' 例如,因为这仍然会给我一个不错的随机数示例(因为 doc_num 是 8 个数字)

输出示例:

12345678 'random'
12346789 '-'
12348790 '-'
21212120 '-'
65656565 'random'

你可以这样做:

select t.*,
       (case when row_number() over (order by dbms_random.random) <= 10
             then 'random'
             else '-'
        end) as rand_doc
from t;