读书人

怎么获取8位的当天无重复的随机数

发布时间: 2012-04-08 14:38:30 作者: rapoo

如何获取8位的当天无重复的随机数。
如何获取8位的当天无重复的随机数。

请教 SQL server 和 ORACLE 的写法?

SQL SERVER 我是这样写的:
SELECT CAST (RAND() *99999999 AS INT ) AS NUM 这样不知道会不会出现重复?

[解决办法]

SQL code
select top 1000 id = RIGHT(100000000 + CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 8) from dbo.spt_values a,dbo.spt_values b,dbo.spt_values c
[解决办法]
将你得到的数据保存到临时#Table,若是有重复的就重新获得。
declare @i int
set @i=0
while @i<5
begin
select @I= Count(distinct NUM) from #a

insert into #a
SELECT CAST (RAND() *10 AS INT ) AS NUM
end

读书人网 >SQL Server

热点推荐