1. 首页>动态要闻 > 信息

SQL产生随机数

作者:丁夕林
2019-10-10
信息

下文将为您介绍SQL中的随机函数rand(),供您参考,如果您是才接触SQLServer的新手,不妨一看,相信对您学习SQL中的函数会大有帮助。

在SQLServer中,有个随机函数rand(),有不少新手可能不知道存在这个函数,现在我就把这个函数的一些随机数生成技巧写出来,这是面向菜鸟的,老鸟请不要拍砖呀,我的头还不够硬

不过还是希望老鸟们多多指教了,现在切入正题:

随机函数:rand()

在查询分析器中执行:selectrand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,

像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数。

那就看下面的两种随机取整数的方法:

1、

A:

selectfloor(rand()*N)---生成的数是这样的:12.0

B:

selectcast(floor(rand()*N)asint)---生成的数是这样的:12

2、

A:selectceiling(rand()*N)---生成的数是这样的:12.0

B:selectcast(ceiling(rand()*N)asint)---生成的数是这样的:12

其中里面的N是一个你指定的整数,如100,可以看出,两种方法的A方法是带有.0这个的小数的,而B方法就是真正的整数了。

大致一看,这两种方法没什么区别,真的没区别?其实是有一点的,那就是他们的生成随机数的范围:

方法1的数字范围:0至N-1之间,如cast(floor(rand()*100)asint)就会生成0至99之间任一整数

方法2的数字范围:1至N之间,如cast(ceiling(rand()*100)asint)就会生成1至100之间任一整数

对于这个区别,看SQL的联机帮助就知了:

------------------------------------------------------------------------------------

比较CEILING和FLOOR

CEILING函数返回大于或等于所给数字表达式的最小整数。

FLOOR函数返回小于或等于所给数字表达式的最大整数。

例如,对于数字表达式12.9273,CEILING将返回13,FLOOR将返回12。

FLOOR和CEILING返回值的数据类型都与输入的数字表达式的数据类型相同。

----------------------------------------------------------------------------------

现在,各位就可以根据自己需要使用这两种方法来取得随机数了^_^

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

selecttopN*fromtable_nameorderbynewid()----N是一个你指定的整数,表是取得记录的条数。

推荐阅读
  • 日照好玩的地方和吃海鲜应该去哪听说日

    日照好玩的地方:万平口:"旅游来日照,必到万平口",已成为各地游客的共识。刘家湾赶海园:以赶海系列活动为主,集旅游、休闲、度假、民俗、健身于一体的综合旅游园。竹洞天:位于山东省日照市城区西端的将帅沟毛竹…

    信息 2024-09-20
  • 什么是铸造

    铸造是指将室温中为液态,但不久后将要固态化的物质倒入特定形状的铸模待其凝固成形的加工方式。 被铸物质多半原为固态但加热至液态的金属(例:铜、铁、铝、锡、铅等),而铸模的材料可以是沙、金属甚至陶瓷。 因应…

    信息 2024-09-20
  • 变形金刚中博派和狂派各有哪些人物

    博派:擎天柱,铁皮,大黄蜂,爵士,棘齿。狂派:威震天,红蜘蛛,眩晕,吵闹,萨克,碎骨魔,路障,迷乱。…

    信息 2024-09-20
  • 一平方毫米的铜线能过多少安的电流

    1平方毫米的铜线在不同电流下通过的安培数不同。最大是18A:(1)60A以下,选1平方毫米的铜线安全载流量是6A;(2)60~100A,选1平方毫米的铜线,安全载流量是5A;(3)100A以上,选1平方毫米的铜线,安全载流量是2.5A 。…

    信息 2024-09-20
  • 中华人民共和国城乡规划法第四十条有规

    自2008年1月1日起施行的《中华人民共和国城乡规划法》第四十条:在城市、镇规划区内进行建筑物、构筑物、道路、管线和其他工程建设的,建设单位或者个人应当向城市、县人民政府城乡规划主管部门或者省、自治区、直辖…

    信息 2024-09-20