YashanDB RANDOM函数

RANDOM函数返回一个0到1之间的随机数,返回类型为NUMBER型。可以使用ORDER BY RANDOM()来对一组记录进行随机化排序。

不建议对RANDOM函数进行排序,当RANDOM函数同时作为排序键和投影列时,输出结果仍旧无序。

不建议对RANDOM函数进行比较,RANDOM函数会执行多次,比较结果无意义。

示例(HEAP表)

SELECT RANDOM() res FROM DUAL;
        RES
-----------
 .936900865
 
SELECT branch,department,employee_no,employee_name,sex,entry_date
FROM employees
ORDER BY RANDOM();
BRANCH DEPARTMENT EMPLOYEE_NO   EMPLOYEE_NAME SEX   ENTRY_DATE                       
------ ---------- ------------- ------------- ----- -------------------------------- 
0101   008        0201008004    Jim           1     2021-06-19 22:55:32                   
0101   000        0101000001    Mask          1     2019-04-11 22:55:32                   
0201   010        0201010011    Anna          0     2021-03-11 22:55:32                   
0201   008        0201008003    Jack          1     2020-02-05 22:55:32                   
0101   000        0101000002    John          1     2016-07-15 22:55:32

-- 当RANDOM函数同时作为排序键和投影列时,输出结果仍旧无序。
SELECT RANDOM() res FROM employees ORDER BY 1;
        RES
-----------
 .612940056
 .369912063
 .998551899
 .992730169
  .62891736

-- 当RANDOM函数进行比较时,比较结果无意义。
SELECT RANDOM() res FROM employees WHERE RANDOM() > 0.5;
        RES
-----------
 .556500692
 .336096448

SELECT RANDOM() = RANDOM() res FROM employees;
RES
--------------------
false
false
false
false
false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值