SQL Server中怎么生成一定范围的随机数

发布时间:2021-11-04 11:24:42 作者:iii
阅读:185
亿速云数据库,弹性扩容,低至0.3元/天! 查看>>

本篇内容介绍了“SQL Server中怎么生成一定范围的随机数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

方法一

select  floor(rand()*N)  ---生成的数是这样的:12.0
select cast( floor(rand()*N) as int)  ---生成的数是这样的:12

方法二

select ceiling(rand() * N)  ---生成的数是这样的:12.0
select cast(ceiling(rand() * N) as int)  ---生成的数是这样的:12

其中里面的N是一个你指定的整数,如100。
大致一看,这两种方法没什么区别,真的没区别?其实是有一点的,那就是他们的生成随机数的范围:
方法1的数字范围:0至N-1之间,如cast( floor(rand()*100) as int)就会生成0至99之间任一整数
方法2的数字范围:1至N之间,如cast(ceiling(rand() * 100) as int)就会生成1至100之间任一整数
对于这个区别,看SQL的联机帮助就知了:
------------------------------------------------------------------------------------
比较 CEILING 和 FLOOR

CEILING 函数返回大于或等于所给数字表达式的最小整数。FLOOR 函数返回小于或等于所给数字表达式的最大整数。例如,对于数字表达式 12.9273,CEILING 将返回 13,FLOOR 将返回 12。FLOOR 和 CEILING 返回值的数据类型都与输入的数字表达式的数据类型相同。
----------------------------------------------------------------------------------
现在,各位就可以根据自己需要使用这两种方法来取得随机数了^_^

另外,还要提示一下各位,关于随机取得表中任意N条记录的方法,很简单,就用newid():

select top N *  from table_name order by newid() ----N是一个你指定的整数,表是取得记录的条数

“SQL Server中怎么生成一定范围的随机数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:
  1. sql中标识列有哪些作用
  2. 什么是SQL杀手蠕虫病毒发作的特征

开发者交流群:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:http://blog.itpub.net/31559985/viewspace-2693349/

sqlserver

上一篇:Oracle Linux7.1单机静默安装的方法是什么

下一篇:什么是PL/SQL

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
开发者交流群×