一般的亂數在直接使用RAND()時容易出現一整片都是同個亂數的問題,
像這次我需要每列資料、甚至每欄資料要產生不同參數時,
就需要用NEWID()當作SEED,傳入RAND()中產生不同亂數。
以下為程式演練,可以參考看看!
SELECT RAND(CAST(NEWID() AS VARBINARY)) AS 隨機亂數 ,
CAST(CEILING(RAND(CAST(NEWID() AS VARBINARY))*100) AS int) AS [1到100亂數],
CAST(FLOOR(RAND(CAST(NEWID() AS VARBINARY))*10) AS int) AS [0到10亂數],
CAST(CEILING(RAND(CAST(NEWID() AS VARBINARY))*10) AS int) AS [1到10亂數],
CAST(CEILING(RAND(CAST(NEWID() AS VARBINARY))*5) AS int) AS [1到5亂數],
CAST(CEILING(RAND(CAST(NEWID() AS VARBINARY))*3) AS int) AS [1到3亂數],
CHAR(64 + CAST(CEILING(RAND(CAST(NEWID() AS VARBINARY)) * 5) as int)) AS [A到E亂數]
FROM TabelA
沒有留言:
張貼留言