首页 > 数据库技术 > 详细

SQL Server rand()+while循环的使用

时间:2014-03-04 12:51:28      阅读:797      评论:0      收藏:0      [点我收藏+]

一、sql产生随机数

使用Rand(),结果是类似于这样的随机小数:0.677416415256926

eg:

SELECT Rand()

下面四种方法的区别(N代表一个随意的实数):

SELECT FLOOR(RAND()*N) ---生成的数是这样的:12.0 
SELECT CAST(FLOOR(RAND()*N) AS INT) ---生成的数是这样的:12 


SELECT CEILING(RAND()* N) ---生成的数是这样的:12.0 
SELECT CAST(CEILING(RAND()* N) AS INT) ---生成的数是这样的:12

注解:

前两种方法:生成的随机数在0至N-1之间;

后两种方法:生成的随机数在1至N之间。 

 

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

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

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

 

二、构造数据的时候会用到一次性插入多条数据,SQL Server可以通过设置while来循环插入多条数据。如下:

bubuko.com,布布扣
DECLARE @id int 
DECLARE @price VARCHAR(6)
DECLARE @loopnum int

SET @id = 1  
SET @price = 1.00
SET @loopnum = 100

WHILE @id <= 100
BEGIN
    INSERT INTO td_price(id,price) values(@id,@price)
    SET @id = @id + 1 
    SET @price = CONVERT(VARCHAR(6),FLOOR(RAND()*9)) + . + CONVERT(VARCHAR(6),FLOOR(RAND()*9)) ---构造价格,随机生成小数
END
bubuko.com,布布扣

SQL Server rand()+while循环的使用,布布扣,bubuko.com

SQL Server rand()+while循环的使用

原文:http://www.cnblogs.com/meng23/p/3579219.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!