首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

安插数据时,某一字段为6位的不重复 随机数

2013-06-26 
插入数据时,某一字段为6位的不重复 随机数想每次 插入一条数据的时候 ,对这条记录 进行一个固定长度 6位的

插入数据时,某一字段为6位的不重复 随机数
想每次 插入一条数据的时候 ,对这条记录 进行一个固定长度 6位的随机数字,并且在表内没有重复出现

[解决办法]


--还不知道弄,那我也帮不了你啦
DECLARE @RANDID INT,@count int
SET @RANDID = 0  
SET @count = 0 
WHILE LEN(@RANDID)<>6  
BEGIN 
--检查表中是否存在
SET @RANDID = CONVERT ( INT, SUBSTRING( CONVERT( CHAR(20) , RAND()) , 3, 6 ) ) 
select @count = count(*) from a where id = @RANDID
if (@count > 0) --存在这继续循环,直到@count = 0,则插入
SET @RANDID =SUBSTRING( CONVERT(CHAR(20),@RANDID),1,5)
END 
PRINT @RANDID
--insert into a(id) values (@RANDID)
--PRINT @count
--print SUBSTRING(CONVERT(CHAR(20),@RANDID),1,5)

[解决办法]

Select  ABS(CHECKSUM(NEWID()))% 99999 + left(left(convert(varchar(20),REVERSE(RANd())),1)+ 1,1) * 100000

热点排行