1
我需要創建一些隨機數據,它是所有順順當當,直到我notiched我蘭德職能的結果帶回0,是有變化的100 * RAND()不包括的一種方式0和3 * RAND()不包括0或者,我需要的是1至100(包括100)和另一個之間,以隨機化編號1和2。RAND和兩人之間的數字
DECLARE @OrderNumber varchar (30)
DECLARE @OrderDate int
DECLARE @OrderLineNumber varchar(50)
DECLARE @CustomerSkey int
DECLARE @ProductSkey int
DECLARE @OrderMethodSkey int
SET @OrderNumber = 1
SET @OrderDate = 0
SET @OrderLineNumber = 1
SET @CustomerSkey = 1
SET @ProductSkey = 1
SET @OrderMethodSkey = 1
WHILE @OrderNumber <= 100
WHILE @OrderDate <= 100
WHILE @OrderLineNumber <= 100
WHILE @CustomerSkey <= 100
WHILE @ProductSkey <= 100
WHILE @OrderMethodSkey <= 100
BEGIN
INSERT INTO Orders
(OrderNumber
, OrderDate
, OrderLineNumber
, CustomerSkey
, ProductSkey
, OrderMethodSkey)
SELECT
'ORD' + Right ('000000' + CAST (@OrderNumber AS varchar (30)), 6)
,DATEADD (day, CAST (RAND() * 1500 as int), '2008-1-1')
,(Right ('0' + CAST (@OrderLineNumber AS varchar (30)), 6))
,100*RAND()
,100*RAND()
,2*RAND()
SET @OrderNumber = @OrderNumber + 1
SET @OrderDate = @OrderDate + 1
SET @OrderLineNumber = @OrderLineNumber + 1
SET @CustomerSkey = @CustomerSkey + 1
SET @ProductSkey = @ProductSkey + 1
SET @OrderMethodSkey = @OrderMethodSkey + 1
END
非常感謝你,我不相信這很容易。 – wafw1971
@ wafw1971這是「((High-Low)* Rand)+ Low」的簡化,不用說,它是唯一正確的方法。 +1 – Jodrell
只需要快速跟進,我該如何Randomise時間,我需要在24小時內隨時顯示時間? – wafw1971