SQL Server中随机函数的应用
2011-08-22 09:37
411 查看
对表中的数据随机排列显示
Select * From Student Order by newid()
随机显示表中N条记录
Select TOP N * From Student Order by newid() --这里的N代表随机显示的记录数
注:newid()返回的是uniqueidentifier类型的唯一值。newid()每次产生的值都不一样,那么根据这样的值进行排序,每次的结果也是不一样的
获取随机值
在SQL Server有个随机函数rand() ,只不过它返回的值float型,如果你需要整数的话,需要处理一下:
1.使用函数floor() N=100
A:select floor(rand()*N) ---生成的数是这样的:12.0
B:select cast( floor(rand()*N) as int) ---生成的数是这样的:12
2.使用函数ceiling() N=100
A:select ceiling(rand() * N) ---生成的数是这样的:12.0
B:select cast(ceiling(rand() * N) as int) ---生成的数是这样的:12
注:CEILING()返回大于或等于所给数字表达式的最小整数。FLOOR ()返回小于或等于所给数字表达式的最大整数。
例如,对于数字表达式 12.9273,CEILING 将返回 13,FLOOR 将返回 12。FLOOR 和 CEILING 返回的数据类型与输入的表达式的数据类型相同。
Select * From Student Order by newid()
随机显示表中N条记录
Select TOP N * From Student Order by newid() --这里的N代表随机显示的记录数
注:newid()返回的是uniqueidentifier类型的唯一值。newid()每次产生的值都不一样,那么根据这样的值进行排序,每次的结果也是不一样的
获取随机值
在SQL Server有个随机函数rand() ,只不过它返回的值float型,如果你需要整数的话,需要处理一下:
1.使用函数floor() N=100
A:select floor(rand()*N) ---生成的数是这样的:12.0
B:select cast( floor(rand()*N) as int) ---生成的数是这样的:12
2.使用函数ceiling() N=100
A:select ceiling(rand() * N) ---生成的数是这样的:12.0
B:select cast(ceiling(rand() * N) as int) ---生成的数是这样的:12
注:CEILING()返回大于或等于所给数字表达式的最小整数。FLOOR ()返回小于或等于所给数字表达式的最大整数。
例如,对于数字表达式 12.9273,CEILING 将返回 13,FLOOR 将返回 12。FLOOR 和 CEILING 返回的数据类型与输入的表达式的数据类型相同。
相关文章推荐
- SQL Server 中随机函数应用举例 推荐
- Sql server 简单应用
- SQL Server游标应用实例
- 数据库原理与应用 基于SQL Server 2005pdf
- SQL SERVER 2005同步复制技术的应用
- Sql Server 不常见应用之一:获取表的基本信息、字段列表、存储过程参数列表
- SQL SERVER实践应用--数据库邮件配置
- SQL SERVER应用问题解答13例
- SQL SERVER convert函数日期格式化应用
- SQL Server 应用开发(五)
- SQL Server 2008 R2 应用及多服务器管理
- sql server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件
- 《循序渐进-SQL Server 2005入门、进阶与应用实例》即将上市
- sql server 分布式开发 sp_addlinkedserver sp_addlinkedsrvlogin应用
- SQL Server 函数学习笔记⑥函数的高级应用=》按规则拆分列形成行数据
- [转]SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引
- SQL Server 2005 中的分区表和索引应用
- Sql Server 中将由逗号“,”分割的一个字符串转换为一个表集,并应用到 in 条件中
- SQL Server系统表的应用
- SQL Server 2008数据库邮件配置及应用