`
tianhandigeng
  • 浏览: 368726 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

SQL中随机数函数rand()简介

阅读更多

 

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

在SQL Server中,有个随机函数rand(),有不少新手可能不知道存在这个函数,现在我就把这个函数的一些随机数生成技巧写出来,这是面向菜鸟的,老鸟请不要拍砖呀,我的头还不够硬
不过还是希望老鸟们多多指教了,现在切入正题: 
随机函数:rand() 
在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558, 
像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数。那就看下面的两种随机取整数的方法: 
1、 
A: 
select floor(rand()*N) ---生成的数是这样的:12.0 
B: 
select cast( floor(rand()*N) as int) ---生成的数是这样的:12 
2、 
A:select ceiling(rand() * N) ---生成的数是这样的:12.0 
B:select cast(ceiling(rand() * N) as int) ---生成的数是这样的:12 
其中里面的N是一个你指定的整数,如100,可以看出,两种方法的A方法是带有.0这个的小数的,而B方法就是真正的整数了。 
大致一看,这两种方法没什么区别,真的没区别?其实是有一点的,那就是他们的生成随机数的范围: 
方法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是一个你指定的整数,表是取得记录的条数 。

 

 

分享到:
评论

相关推荐

    产生随机数的rand()函数的使用方法.

    产生随机数的rand()函数的使用方法.产生随机数的rand()函数的使用方法.

    SQL随机数读取,利用rand()函数

    declare @i int 定义一个变量 再利用rarnd()函数进行读取

    SQL server 随机数函数

    现在切入正题: 随机函数:rand() 在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558, 像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数。...

    MySQL的指定范围随机数函数rand()的使用技巧

    而在mysql里,随机数函数rand不能传参,产生的0到1之间的浮点数,要是我们需要在mysql产生大于1的随机整数,该怎么办呢? 这样的需求并不陌生,例如,咱做的文章系统,需要作弊,给文章的浏览量随机加上某个范围内的...

    SQL Server中的RAND函数的介绍和区间随机数值函数的实现

    工作中会遇到SQL Server模拟数据生成以及数值列值(如整型、日期和时间数据类型)随机填充等等任务,这些任务中都要使用到随机数。鉴于此,本文将对SQL Server中随机数的使用简单做个总结 。 T-SQL 随机有关的三个...

    DB2数值函数简介及使用

    5、随机数:rand(m)函数 6、四舍五入:round (m,n) 7、将数值转换为字符串形式:digits()函数 8、转换为数值:to_number(string,format) 9、数值截取函数:trunc(m,n)或者truncate(m,n) 10、转换为浮点数:decfloat...

    SQL函数

    power(numeric_expr,power) 返回power次方 rand([int_expr]) 随机数产生器 round(numeric_expr,int_expr) 安int_expr规定的精度四舍五入 sign(int_expr) 根据正数,0,负数,,返回+1,0,-1 sqrt...

    MySQL rand函数实现随机数的方法

    顺便给你找了点关于mysql rand函数的实例,如下:那就在insert 命令中,value()里面用rand(),注意字段宽度是否够一直以为mysql随机查询几条数据,就用SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了。

    MySQL产生随机数并连接字符串的方法示例

    本文实例讲述了MySQL产生随机数并连接字符串的方法。分享给大家供大家参考,具体如下: 用到的方法: concat('a','b','c'); 连接字符串 rand(); 产生随机数 floor(); 取整数 SQL语句示例: 代码如下:UPDATE user ...

    sqlserver 不重复的随机数

    MSSQL随机数 MSSQL有一个函数CHAR()是将int(0-255) ASCII代码转换为字符。那我们可以使用下面MS SQL语句,可以随机生成小写、大写字母,特殊字符和数字。 大写字母: CHAR(ROUND(RAND() * 25 + 65,0)) 小写字母: ...

    sql生成随机码--自定义大写、小写、数字、特定字符个数

    sql生成随机码--自定义大写、小写、数字、特定字符个数

    PHP 设置MySQL连接字符集的方法

    mysql_set_charset()。 这个函数是这样用的: mysql_set_charset(‘utf8’, $link); 成功返回 TRUE,失败返回 ... 您可能感兴趣的文章:MySQL查询随机数据的4种方法和性能对比MySQL的指定范围随机数函数rand()的使用技巧

    sqlserver、mysql获取连接字符串步骤

    步骤: 一、新建文本文档xxx.txt,修改文件类型为.udl ... 您可能感兴趣的文章:MySQL查询随机数据的4种方法和性能对比MySQL的指定范围随机数函数rand()的使用技巧从MySQL数据库表中取出随机数据的代码mysql获取

    mysql 某字段插入随机数(插入随机数到MySQL数据库)

    常用的代码 UPDATE `表名` SET `字段名`=ceiling(rand()*500000+500000) WHERE ...步骤1:随机数的SQL函数为rand() ,而rand()生成的是0-1之间的小数。 步骤2:将rand()*10 将产生1-10之间的带小数的数字,可以使

    MySQL中的RAND()函数使用详解

    MySQL RAND()函数调用可以在0和1之间产生一个随机数: mysql> SELECT RAND( ), RAND( ), RAND( ); +------------------+-----------------+------------------+ | RAND( ) | RAND( ) | RAND( ) | +----------------...

    经典全面的SQL语句大全

     对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见的解决方案是建立如下所示的循环: Randomize RNumber = Int(Rnd*499) +1 ...

    Perl 实例精解(第三版).pdf

    5.3.13 rand/srand函数 练习4 运算符 第6章 条件 6.1 控制结构,块和复合语句 6.2 决策--条件结构 6.2.1 if和unless语句 6.2.2 unless语句结构 6.3 循环 6.3.1 while循环 6.3.2 until循环 ...

    T-SQL高级查询

    # rank函数函数 根据排序子句给出递增的序号,但是存在并列并且跳空 顺序递增 select id, name, rank() over(order by cid) as rank from student; 跳过相同递增 select s.id, s.name, cid, c.name, rank() over...

Global site tag (gtag.js) - Google Analytics