当前位置: 代码迷 >> Sql Server >> 怎么获取8位的当天无重复的随机数
  详细解决方案

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

热度:27   发布时间:2016-04-27 13:53:37.0
如何获取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
  相关解决方案