Generating Random Numbers - Part II
There are many methods to generate random numbers. Here are some of them
select
number from
(
select top 10000 abs(checksum(newid())) as number
from sysobjects s1 cross join sysobjects s2
)
as T
select
number from
(
select top 1000 abs(cast(cast(newid() as varbinary(10)) as int)) as number
from sysobjects s1 cross join sysobjects s2
)
as T
If you want to generate 4 digits random number, then use
select
number/power(10,len(number)-4) as number from
(
select top 10000 abs(checksum(newid())) as number
from sysobjects s1 cross join sysobjects s2
)
as T
If
you want to generate 2 digits random number, then use
select
number/power(10,len(number)-2) as number from
(
select top 10000 abs(checksum(newid())) as number
from sysobjects s1 cross join sysobjects s2
)
as T
If you use SQL Server 2005, you can also apply the same approach on the following query
select
row_number() over (order by s1.name) as number
from
sysobjects s1 cross join sysobjects s2