加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL中RAND函数有什么作用,咋使用的

发布时间:2023-05-25 13:40:35 所属栏目:MsSql教程 来源:
导读:这篇文章主要介绍了“SQL中RAND函数有什么作用,怎样使用的”相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQL中RAND函数有什么作用,怎样使用的文章都会有所收获,下面我
这篇文章主要介绍了“SQL中RAND函数有什么作用,怎样使用的”相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQL中RAND函数有什么作用,怎样使用的文章都会有所收获,下面我们一起来看看吧。
 
SQL RAND 函数
 
 SQL 有一个 RAND 函数,用于产生 0 至 1 之间的随机数:
 
    SQL>  SELECT RAND( ), RAND( ), RAND( );
 
    +------------------+-----------------+------------------+
 
    | RAND( )          | RAND( )         | RAND( )          |
 
    +------------------+-----------------+------------------+
 
    | 0.45464584925645 | 0.1824410643265 | 0.54826780459682 |
 
    +------------------+-----------------+------------------+
 
    1 row in set (0.00 sec)
 
 当以某个整数值作为参数来调用的时候,RAND() 会将该值作为随机数发生器的种子。对于每一个给定的种子,RAND() 函数都会产生一列可以复现的数字:
 
    SQL>  SELECT RAND(1), RAND( ), RAND( );
 
    +------------------+------------------+------------------+
 
    | RAND(1 )         | RAND( )          | RAND( )          |
 
    +------------------+------------------+------------------+
 
    | 0.18109050223705 | 0.75023211143001 | 0.20788908117254 |
 
    +------------------+------------------+------------------+
 
    1 row in set (0.00 sec)
 
 你可以使用 ORDER BY RAND() 来对一组记录进行随机化排列,如下所示:
 
    SQL> SELECT * FROM employee_tbl;
 
    +------+------+------------+--------------------+
 
    | id   | name | work_date  | daily_typing_pages |
 
    +------+------+------------+--------------------+
 
    |    1 | John | 2007-01-24 |                250 |
 
    |    2 | Ram  | 2007-05-27 |                220 |
 
    |    3 | Jack | 2007-05-06 |                170 |
 
    |    3 | Jack | 2007-04-06 |                100 |
 
    |    4 | Jill | 2007-04-06 |                220 |
 
    |    5 | Zara | 2007-06-06 |                300 |
 
    |    5 | Zara | 2007-02-06 |                350 |
 
    +------+------+------------+--------------------+
 
    7 rows in set (0.00 sec)
 
 现在,试试下面的命令:
 
    SQL> SELECT * FROM employee_tbl ORDER BY RAND();
 
    +------+------+------------+--------------------+
 
    | id   | name | work_date  | daily_typing_pages |
 
    +------+------+------------+--------------------+
 
    |    5 | Zara | 2007-06-06 |                300 |
 
    |    3 | Jack | 2007-04-06 |                100 |
 
    |    3 | Jack | 2007-05-06 |                170 |
 
    |    2 | Ram  | 2007-05-27 |                220 |
 
    |    4 | Jill | 2007-04-06 |                220 |
 
    |    5 | Zara | 2007-02-06 |                350 |
 
    |    1 | John | 2007-01-24 |                250 |
 
    +------+------+------------+--------------------+
 
    7 rows in set (0.01 sec)
 
    SQL> SELECT * FROM employee_tbl ORDER BY RAND();
 
    +------+------+------------+--------------------+
 
    | id   | name | work_date  | daily_typing_pages |
 
    +------+------+------------+--------------------+
 
    |    5 | Zara | 2007-02-06 |                350 |
 
    |    2 | Ram  | 2007-05-27 |                220 |
 
    |    3 | Jack | 2007-04-06 |                100 |
 
    |    1 | John | 2007-01-24 |                250 |
 
    |    4 | Jill | 2007-04-06 |                220 |
 
    |    3 | Jack | 2007-05-06 |                170 |
 
    |    5 | Zara | 2007-06-06 |                300 |
 
    +------+------+------------+--------------------+
 
    7 rows in set (0.00 sec)
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章