- 对表中的数据随机排列显示
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) ---生成的数是这样的:122.使用函数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 返回的数据类型与输入的表达式的数据类型相同。