下文将为您介绍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()函数的使用方法.
declare @i int 定义一个变量 再利用rarnd()函数进行读取
现在切入正题: 随机函数:rand() 在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558, 像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数。...
而在mysql里,随机数函数rand不能传参,产生的0到1之间的浮点数,要是我们需要在mysql产生大于1的随机整数,该怎么办呢? 这样的需求并不陌生,例如,咱做的文章系统,需要作弊,给文章的浏览量随机加上某个范围内的...
工作中会遇到SQL Server模拟数据生成以及数值列值(如整型、日期和时间数据类型)随机填充等等任务,这些任务中都要使用到随机数。鉴于此,本文将对SQL Server中随机数的使用简单做个总结 。 T-SQL 随机有关的三个...
5、随机数:rand(m)函数 6、四舍五入:round (m,n) 7、将数值转换为字符串形式:digits()函数 8、转换为数值:to_number(string,format) 9、数值截取函数:trunc(m,n)或者truncate(m,n) 10、转换为浮点数:decfloat...
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函数的实例,如下:那就在insert 命令中,value()里面用rand(),注意字段宽度是否够一直以为mysql随机查询几条数据,就用SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了。
本文实例讲述了MySQL产生随机数并连接字符串的方法。分享给大家供大家参考,具体如下: 用到的方法: concat('a','b','c'); 连接字符串 rand(); 产生随机数 floor(); 取整数 SQL语句示例: 代码如下:UPDATE user ...
MSSQL随机数 MSSQL有一个函数CHAR()是将int(0-255) ASCII代码转换为字符。那我们可以使用下面MS SQL语句,可以随机生成小写、大写字母,特殊字符和数字。 大写字母: CHAR(ROUND(RAND() * 25 + 65,0)) 小写字母: ...
sql生成随机码--自定义大写、小写、数字、特定字符个数
mysql_set_charset()。 这个函数是这样用的: mysql_set_charset(‘utf8’, $link); 成功返回 TRUE,失败返回 ... 您可能感兴趣的文章:MySQL查询随机数据的4种方法和性能对比MySQL的指定范围随机数函数rand()的使用技巧
步骤: 一、新建文本文档xxx.txt,修改文件类型为.udl ... 您可能感兴趣的文章:MySQL查询随机数据的4种方法和性能对比MySQL的指定范围随机数函数rand()的使用技巧从MySQL数据库表中取出随机数据的代码mysql获取
常用的代码 UPDATE `表名` SET `字段名`=ceiling(rand()*500000+500000) WHERE ...步骤1:随机数的SQL函数为rand() ,而rand()生成的是0-1之间的小数。 步骤2:将rand()*10 将产生1-10之间的带小数的数字,可以使
MySQL RAND()函数调用可以在0和1之间产生一个随机数: mysql> SELECT RAND( ), RAND( ), RAND( ); +------------------+-----------------+------------------+ | RAND( ) | RAND( ) | RAND( ) | +----------------...
对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见的解决方案是建立如下所示的循环: Randomize RNumber = Int(Rnd*499) +1 ...
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循环 ...
# rank函数函数 根据排序子句给出递增的序号,但是存在并列并且跳空 顺序递增 select id, name, rank() over(order by cid) as rank from student; 跳过相同递增 select s.id, s.name, cid, c.name, rank() over...