读书人

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

发布时间: 2013-06-26 14:29:32 作者: rapoo

插入数据时,某一字段为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

读书人网 >SQL Server

热点推荐